From be315aebaf58355c86a9f226937a23cbbca74e46 Mon Sep 17 00:00:00 2001 From: J Henry Waugh Date: Thu, 6 Aug 2020 18:36:15 -0500 Subject: [PATCH] Fix breakage due to write_lock() --- codegen/src/function.rs | 4 ++-- codegen/src/module.rs | 2 +- codegen/src/rhai_module.rs | 2 +- src/fn_register.rs | 8 ++++---- src/lib.rs | 2 ++ 5 files changed, 10 insertions(+), 8 deletions(-) diff --git a/codegen/src/function.rs b/codegen/src/function.rs index 5d869a2b..6ee13ed8 100644 --- a/codegen/src/function.rs +++ b/codegen/src/function.rs @@ -220,7 +220,7 @@ impl ExportedFn { } }; let downcast_span = quote_spanned!( - arg_type.span()=> &mut *args[0usize].write_lock::<#arg_type>().unwrap()); + arg_type.span()=> &mut args[0usize].write_lock::<#arg_type>().unwrap()); unpack_stmts.push( syn::parse2::(quote! { let #var: &mut _ = #downcast_span; @@ -784,7 +784,7 @@ mod generate_tests { args.len(), 2usize), Position::none()))); } let arg1 = args[1usize].downcast_clone::().unwrap(); - let arg0: &mut _ = args[0usize].write_lock::().unwrap(); + let arg0: &mut _ = &mut args[0usize].write_lock::().unwrap(); Ok(Dynamic::from(increment(arg0, arg1))) } diff --git a/codegen/src/module.rs b/codegen/src/module.rs index 48d9758c..9db6a3cd 100644 --- a/codegen/src/module.rs +++ b/codegen/src/module.rs @@ -667,7 +667,7 @@ mod generate_tests { format!("wrong arg count: {} != {}", args.len(), 1usize), Position::none()))); } - let arg0: &mut _ = args[0usize].write_lock::().unwrap(); + let arg0: &mut _ = &mut args[0usize].write_lock::().unwrap(); Ok(Dynamic::from(increment(arg0))) } diff --git a/codegen/src/rhai_module.rs b/codegen/src/rhai_module.rs index 1a2b1021..08c7f11f 100644 --- a/codegen/src/rhai_module.rs +++ b/codegen/src/rhai_module.rs @@ -26,7 +26,7 @@ pub(crate) fn generate_body( let mut gen_fn_tokens: Vec = Vec::new(); for function in fns { let fn_token_name = syn::Ident::new( - &format!("{}_Token", function.name().to_string()), + &format!("{}_token", function.name().to_string()), function.name().span(), ); let fn_literal = diff --git a/src/fn_register.rs b/src/fn_register.rs index 91974c2e..104b305f 100644 --- a/src/fn_register.rs +++ b/src/fn_register.rs @@ -39,10 +39,10 @@ pub trait RegisterPlugin { /// fn is_varadic(&self) -> bool { false } /// /// fn call(&self, args: &mut[&mut Dynamic], pos: Position) -> Result> { - /// let x1: &FLOAT = args[0].downcast_ref::().unwrap(); - /// let y1: &FLOAT = args[1].downcast_ref::().unwrap(); - /// let x2: &FLOAT = args[2].downcast_ref::().unwrap(); - /// let y2: &FLOAT = args[3].downcast_ref::().unwrap(); + /// let x1: FLOAT = args[0].downcast_clone::().unwrap(); + /// let y1: FLOAT = args[1].downcast_clone::().unwrap(); + /// let x2: FLOAT = args[2].downcast_clone::().unwrap(); + /// let y2: FLOAT = args[3].downcast_clone::().unwrap(); /// let square_sum = (y2 - y1).abs().powf(2.0) + (x2 -x1).abs().powf(2.0); /// Ok(Dynamic::from(square_sum.sqrt())) /// } diff --git a/src/lib.rs b/src/lib.rs index b6177699..a8a783d1 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -102,6 +102,8 @@ pub use rhai_codegen::*; #[cfg(not(feature = "no_function"))] pub use parser::FnAccess; +#[cfg(feature = "no_function")] +pub use parser::FnAccess; #[cfg(not(feature = "no_function"))] pub use fn_func::Func;