Simplify search for packed repr attr

This commit is contained in:
David Tolnay
2020-06-21 17:22:07 -07:00
parent 04faac962a
commit a9f8ea0a1e
3 changed files with 7 additions and 14 deletions
+5 -12
View File
@@ -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(())
});
}
}