I tried to add allow dead_code and unused_must_use:
#[allow(dead_code)]
#[allow(unused_must_use)]
#[implement(MyStruct)]
pub struct MyStructList(pub Rc<Vec<MyStruct>>);
But still got the warning, still new to rust, what does it mean to call drop ?
warning: unused return value of `Box::<T>::from_raw` that must be used
  --> test.rs
   |
   | #[implement(MyStruct)]
   | ^^^^^^^^^^^^^^^^^^^^^^
   |
   = note: call `drop(from_raw(ptr))` if you intend to drop the `Box`
   = note: this warning originates in the attribute macro `implement` (in Nightly builds, run with -Z macro-backtrace for more info)
 
     
    