Skip to content

Commit 3bd502b

Browse files
authored
remove redundant boxing (#65)
1 parent 7d85925 commit 3bd502b

File tree

1 file changed

+3
-7
lines changed

1 file changed

+3
-7
lines changed

src/lib.rs

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -133,16 +133,12 @@ impl Isolate {
133133
pub fn post(&self, msg: impl IntoDart) -> bool {
134134
if let Some(func) = POST_COBJECT.load(Ordering::Relaxed) {
135135
unsafe {
136-
let boxed_msg = Box::new(msg.into_dart());
137-
let ptr = Box::into_raw(boxed_msg);
136+
let mut msg = msg.into_dart();
138137
// Send the message
139-
let result = func(self.port, ptr);
140-
// free the object
141-
let mut boxed_obj = Box::from_raw(ptr);
138+
let result = func(self.port, &mut msg);
142139
if !result {
143-
ffi::run_destructors(boxed_obj.as_mut())
140+
ffi::run_destructors(&msg);
144141
}
145-
drop(boxed_obj);
146142
// I like that dance haha
147143
result
148144
}

0 commit comments

Comments
 (0)