mirror of
https://github.com/pezkuwichain/serde.git
synced 2026-06-12 22:31:02 +00:00
Fix bounds for macro named the same as a type parameter
This commit is contained in:
@@ -116,6 +116,14 @@ where
|
|||||||
}
|
}
|
||||||
visit::walk_path(self, path);
|
visit::walk_path(self, path);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Type parameter should not be considered used by a macro path.
|
||||||
|
//
|
||||||
|
// struct TypeMacro<T> {
|
||||||
|
// mac: T!(),
|
||||||
|
// marker: PhantomData<T>,
|
||||||
|
// }
|
||||||
|
fn visit_mac(&mut self, _mac: &syn::Mac) {}
|
||||||
}
|
}
|
||||||
|
|
||||||
let all_ty_params: HashSet<_> = generics
|
let all_ty_params: HashSet<_> = generics
|
||||||
|
|||||||
@@ -519,6 +519,17 @@ fn test_gen() {
|
|||||||
other: isize,
|
other: isize,
|
||||||
}
|
}
|
||||||
assert::<SkippedStaticStr>();
|
assert::<SkippedStaticStr>();
|
||||||
|
|
||||||
|
macro_rules! T {
|
||||||
|
() => { () }
|
||||||
|
}
|
||||||
|
|
||||||
|
#[derive(Serialize, Deserialize)]
|
||||||
|
struct TypeMacro<T> {
|
||||||
|
mac: T!(),
|
||||||
|
marker: PhantomData<T>,
|
||||||
|
}
|
||||||
|
assert::<TypeMacro<X>>();
|
||||||
}
|
}
|
||||||
|
|
||||||
//////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////
|
||||||
|
|||||||
Reference in New Issue
Block a user