The problem is that there is no monomorphised definitions on the Rust side (e.g., fn new_i32(), fn new_f32()). There is only generic definitions (e.g., fn new<T>(). We need some way in MLIR to keep the original name of the extern def around so we can call it in the generated code.
It's not very urgent, so I suggest we do this after finishing the FSM transform :)
A small issue regarding ADTs in MLIR. In Arc-Script you can write:
On the Rust-side, we got definitions for
new
andpush
:All code that goes to MLIR must be monomorphised and name mangled (including extern definitions). We therefore get something like:
The problem is that there is no monomorphised definitions on the Rust side (e.g.,
fn new_i32()
,fn new_f32()
). There is only generic definitions (e.g.,fn new<T>()
. We need some way in MLIR to keep the original name of the extern def around so we can call it in the generated code.It's not very urgent, so I suggest we do this after finishing the FSM transform :)