From fae1e322ffb51984a570fb940064a7be62367457 Mon Sep 17 00:00:00 2001 From: David Tolnay Date: Wed, 28 Jul 2021 18:23:52 -0700 Subject: [PATCH] Drop syn/extra-traits dependency from PR 170 --- Cargo.toml | 2 +- src/expand.rs | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index a53e93b..8af0b3b 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -16,7 +16,7 @@ proc-macro = true [dependencies] proc-macro2 = "1.0" quote = "1.0" -syn = { version = "1.0.61", features = ["full", "visit-mut", "extra-traits"] } +syn = { version = "1.0.61", features = ["full", "visit-mut"] } [dev-dependencies] futures = "0.3" diff --git a/src/expand.rs b/src/expand.rs index 33ed451..42e2cd8 100644 --- a/src/expand.rs +++ b/src/expand.rs @@ -396,7 +396,12 @@ fn positional_arg(i: usize, pat: &Pat) -> Ident { fn has_bound(supertraits: &Supertraits, marker: &Ident) -> bool { for bound in supertraits { if let TypeParamBound::Trait(bound) = bound { - if bound.path.is_ident(marker) || bound.path == parse_quote!(::core::marker::#marker) { + if bound.path.is_ident(marker) + || bound.path.segments.len() == 3 + && bound.path.segments[0].ident == "core" + && bound.path.segments[1].ident == "marker" + && bound.path.segments[2].ident == *marker + { return true; } }