Fix hygiene in heapsize2 example
diff --git a/examples/heapsize2/example/src/main.rs b/examples/heapsize2/example/src/main.rs
index 96fa41b..710bab0 100644
--- a/examples/heapsize2/example/src/main.rs
+++ b/examples/heapsize2/example/src/main.rs
@@ -1,9 +1,6 @@
#[macro_use]
extern crate heapsize_derive;
-extern crate heapsize;
-use heapsize::HeapSize;
-
#[derive(HeapSize)]
struct Demo<'a, T: ?Sized> {
a: Box<T>,
diff --git a/examples/heapsize2/heapsize_derive/Cargo.toml b/examples/heapsize2/heapsize_derive/Cargo.toml
index 01aa7f2..e1571de 100644
--- a/examples/heapsize2/heapsize_derive/Cargo.toml
+++ b/examples/heapsize2/heapsize_derive/Cargo.toml
@@ -8,7 +8,6 @@
proc-macro = true
[dependencies]
-heapsize = { path = "../heapsize" }
syn = { path = "../../.." }
quote = { git = "https://github.com/dtolnay/quote" }
proc-macro2 = { version = "0.1", features = ["unstable"] }
diff --git a/examples/heapsize2/heapsize_derive/src/lib.rs b/examples/heapsize2/heapsize_derive/src/lib.rs
index 8569e75..818bd76 100644
--- a/examples/heapsize2/heapsize_derive/src/lib.rs
+++ b/examples/heapsize2/heapsize_derive/src/lib.rs
@@ -1,29 +1,27 @@
extern crate proc_macro;
use proc_macro::TokenStream;
-extern crate proc_macro2;
-use proc_macro2::Span;
-
extern crate syn;
use syn::DeriveInput;
#[macro_use]
extern crate quote;
-extern crate heapsize;
-use heapsize::HeapSize;
-
#[proc_macro_derive(HeapSize)]
pub fn derive_heap_size(input: TokenStream) -> TokenStream {
let input: DeriveInput = syn::parse(input).unwrap();
let name = input.ident;
let (impl_generics, ty_generics, where_clause) = input.generics.split_for_impl();
- let expanded = quote_spanned! {
- Span::def_site(),
- impl #impl_generics HeapSize for #name #ty_generics #where_clause {
- fn heap_size_of_children(&self) -> usize {
- 0
+ let expanded = quote! {
+ mod scope {
+ extern crate heapsize;
+ use self::heapsize::HeapSize;
+
+ impl #impl_generics HeapSize for #name #ty_generics #where_clause {
+ fn heap_size_of_children(&self) -> usize {
+ 0
+ }
}
}
};