Touch up PR 170
diff --git a/syntax/check.rs b/syntax/check.rs
index 321fb1a..7ddcea3 100644
--- a/syntax/check.rs
+++ b/syntax/check.rs
@@ -202,10 +202,7 @@
let mut discriminants = HashSet::new();
enm.variants.iter().fold(0, |next_discriminant, variant| {
- let discriminant = match variant.discriminant {
- None => next_discriminant,
- Some(val) => val,
- };
+ let discriminant = variant.discriminant.unwrap_or(next_discriminant);
if !discriminants.insert(discriminant) {
let msg = format!("discriminant value `{}` already exists", discriminant);
cx.error(span_for_enum_error(enm), msg);
diff --git a/syntax/parse.rs b/syntax/parse.rs
index 995b21f..a0dddbd 100644
--- a/syntax/parse.rs
+++ b/syntax/parse.rs
@@ -96,8 +96,7 @@
));
}
- let mut doc = Doc::new();
- attrs::parse(&item.attrs, &mut doc, None)?;
+ let doc = attrs::parse_doc(&item.attrs)?;
for variant in &item.variants {
match &variant.fields {
@@ -105,7 +104,7 @@
_ => {
return Err(Error::new_spanned(
variant,
- "enums with data are not allowed",
+ "enums with data are not supported yet",
))
}
}
@@ -135,7 +134,7 @@
Expr::Lit(ExprLit {
lit: Lit::Int(n), ..
}),
- )) => match n.base10_digits().parse() {
+ )) => match n.base10_parse() {
Ok(val) => Ok(Variant {
ident: variant.ident,
discriminant: Some(val),
@@ -147,7 +146,7 @@
},
_ => Err(Error::new_spanned(
variant,
- "enums with non-integer literal discriminants are not supported",
+ "enums with non-integer literal discriminants are not supported yet",
)),
}
}