Working param and return type fn type

This commit is contained in:
2026-06-07 00:30:27 +02:00
parent e7b4e65b71
commit d0796aa5df
3 changed files with 48 additions and 12 deletions
+27 -8
View File
@@ -192,14 +192,33 @@ impl GetRust for TypeExpr {
.collect::<Vec<_>>()
.join(", ")
),
Self::StaticFn(types) => format!(
"fn({})",
types
.into_iter()
.map(|t| t.get_rust())
.collect::<Vec<_>>()
.join(", ")
),
Self::StaticFn(types, return_type) => {
if let Some(return_type) = return_type {
format!(
"fn({}) -> {}",
types
.into_iter()
.map(|t| t.get_rust())
.collect::<Vec<_>>()
.join(", "),
return_type.get_rust()
)
} else {
format!(
"fn({})",
types
.into_iter()
.map(|t| t.get_rust())
.collect::<Vec<_>>()
.join(", "),
)
}
}
Self::UnsafePtr { mutable, ty } => {
let mutable = if *mutable { "mut " } else { "const " };
format!("*{mutable}{}", ty.get_rust())
}
Self::Ref {
lifetime,