Simplify search for packed repr attr
This commit is contained in:
parent
04faac962a
commit
a9f8ea0a1e
@ -22,7 +22,7 @@ proc-macro = true
|
||||
[dependencies]
|
||||
proc-macro2 = "1.0"
|
||||
quote = "1.0"
|
||||
syn = { version = "1.0", features = ["visit"] }
|
||||
syn = { version = "1.0.33", features = ["visit"] }
|
||||
|
||||
[dev-dependencies]
|
||||
serde = { version = "1.0", path = "../serde" }
|
||||
|
@ -597,19 +597,12 @@ impl Container {
|
||||
for attr in &item.attrs {
|
||||
if attr.path.is_ident("repr") {
|
||||
let _ = attr.parse_args_with(|input: ParseStream| {
|
||||
input.step(|cursor| {
|
||||
let mut rest = *cursor;
|
||||
while let Some((tt, next)) = rest.token_tree() {
|
||||
match &tt {
|
||||
TokenTree::Ident(ident) if ident == "packed" => {
|
||||
is_packed |= true;
|
||||
return Ok(((), next));
|
||||
}
|
||||
_ => rest = next,
|
||||
}
|
||||
while let Some(token) = input.parse()? {
|
||||
if let TokenTree::Ident(ident) = token {
|
||||
is_packed |= ident == "packed";
|
||||
}
|
||||
Err(cursor.error("no `packed` was found in the reprs"))
|
||||
})
|
||||
}
|
||||
Ok(())
|
||||
});
|
||||
}
|
||||
}
|
||||
|
@ -16,7 +16,7 @@ path = "lib.rs"
|
||||
[dependencies]
|
||||
proc-macro2 = "1.0"
|
||||
quote = "1.0"
|
||||
syn = { version = "1.0", default-features = false, features = ["derive", "parsing", "printing", "clone-impls"] }
|
||||
syn = { version = "1.0.33", default-features = false, features = ["derive", "parsing", "printing", "clone-impls"] }
|
||||
|
||||
[package.metadata.docs.rs]
|
||||
targets = ["x86_64-unknown-linux-gnu"]
|
||||
|
Loading…
Reference in New Issue
Block a user