From ea01f8e19126b595ee91e39fac52a14fd570e0d2 Mon Sep 17 00:00:00 2001 From: Alek Ratzloff Date: Mon, 24 Jan 2022 17:53:29 -0800 Subject: [PATCH] Remove Rc wrapping of BuiltinFnPtr in BuiltinFn wrapper I'm trying to remember why this was added in the first place - I think to simplifly cloning? It's not important now though. Signed-off-by: Alek Ratzloff --- src/object.rs | 6 +++--- src/vm/machine.rs | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/object.rs b/src/object.rs index 7f695ff..7aa7bec 100644 --- a/src/object.rs +++ b/src/object.rs @@ -86,7 +86,7 @@ pub enum BuiltinExit { #[derive(Clone, Finalize)] pub struct BuiltinFn { name: Rc, - fun: Rc, + fun: BuiltinFnPtr, } unsafe impl Trace for BuiltinFn { @@ -100,7 +100,7 @@ impl PartialEq for BuiltinFn { } impl BuiltinFn { - pub fn new(name: String, fun: Rc) -> Self { + pub fn new(name: String, fun: BuiltinFnPtr) -> Self { BuiltinFn { name: Rc::new(name), fun, @@ -184,7 +184,7 @@ macro_rules! vtable { macro_rules! builtin_fn { ($name:expr, $fun:expr) => {{ - BuiltinFnObj::new(BuiltinFn::new($name.to_string(), Rc::new($fun))).into_gc() + BuiltinFnObj::new(BuiltinFn::new($name.to_string(), $fun)).into_gc() }}; } diff --git a/src/vm/machine.rs b/src/vm/machine.rs index 88bfdd3..febeafe 100644 --- a/src/vm/machine.rs +++ b/src/vm/machine.rs @@ -332,7 +332,7 @@ impl MachineBuilder { ) { self.register_global( name, - BuiltinFnObj::new(BuiltinFn::new(name.to_string(), Rc::new(fun))).into_gc(), + BuiltinFnObj::new(BuiltinFn::new(name.to_string(), fun)).into_gc(), ); }