-
Notifications
You must be signed in to change notification settings - Fork 205
Closed
Labels
Description
I register a function that operates on a function pointer
let mut engine = Engine::new();
engine.register_fn("name_of_function", |x: &mut FnPtr| {
println!("name of function: {:?}", x.fn_name());
});
fn my_cool_function() {
//
}
my_cool_function.name_of_function()
This successfully prints "my_cool_function". The signature of name_of_function is also correctly (Fn)
I then read about JS Style scriptable event handlers and am inspired to make a map for my function state:
let map = #{ foo: 42 };
fn my_cool_function() {
this.foo += 1;
//
}
map.my_cool_function();
This pattern is useful and seems to work for my purposes.
However, doing this does not work.
map.my_cool_function.name_of_function();
I get this error:
called `Result::unwrap()` on an `Err` value: ErrorFunctionNotFound("name_of_function (())", 16:23)
Is this expected behavior?