Add global/internal parameters to rhai_fn.

This commit is contained in:
Stephen Chung
2020-11-17 12:09:56 +08:00
parent 999a87f86e
commit a19865d811
9 changed files with 237 additions and 54 deletions

View File

@@ -0,0 +1,28 @@
use rhai::plugin::*;
#[derive(Clone)]
pub struct Point {
x: f32,
y: f32,
}
#[export_module]
pub mod test_module {
pub use super::Point;
#[rhai_fn(global, global)]
pub fn test_fn(input: Point) -> bool {
input.x > input.y
}
}
fn main() {
let n = Point {
x: 0.0,
y: 10.0
};
if test_module::test_fn(n) {
println!("yes");
} else {
println!("no");
}
}

View File

@@ -0,0 +1,11 @@
error: conflicting namespace
--> $DIR/rhai_fn_global_multiple.rs:12:23
|
12 | #[rhai_fn(global, global)]
| ^^^^^^
error[E0433]: failed to resolve: use of undeclared type or module `test_module`
--> $DIR/rhai_fn_global_multiple.rs:23:8
|
23 | if test_module::test_fn(n) {
| ^^^^^^^^^^^ use of undeclared type or module `test_module`