TokenStream did not have any drop implementation, the memory could not
have been freed correctly.
libgrust/ChangeLog:
* libproc_macro/rust/bridge/token_stream.rs: Implement
drop.
Signed-off-by: Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
fn TokenStream__push(stream: *mut TokenStream, tree: TokenTree);
fn TokenStream__from_string(str: *const c_uchar, len: u64, ts: *mut TokenStream) -> bool;
fn TokenStream__clone(ts: *const TokenStream) -> TokenStream;
+ fn TokenStream__drop(stream: *mut TokenStream);
}
#[repr(C)]
unsafe { TokenStream__clone(self as *const TokenStream) }
}
}
+
+impl Drop for TokenStream {
+ fn drop(&mut self) {
+ unsafe { TokenStream__drop(self as *mut TokenStream) }
+ }
+}