diff options
| author | Nixon Enraght-Moony <nixon.emoony@gmail.com> | 2022-09-14 15:41:54 +0100 |
|---|---|---|
| committer | Nixon Enraght-Moony <nixon.emoony@gmail.com> | 2022-09-14 16:14:15 +0100 |
| commit | f69a6c2a8018ac69db62446996e815893b70dfcd (patch) | |
| tree | 38a21084f1bcb2ced7e7ba03718ac9570c759ec5 | |
| parent | 6e21a28ddaf31bf5c6c78d83d051214d2212e803 (diff) | |
| download | rust-f69a6c2a8018ac69db62446996e815893b70dfcd.tar.gz rust-f69a6c2a8018ac69db62446996e815893b70dfcd.zip | |
jsondoclint: Fix TODO's
| -rw-r--r-- | src/tools/jsondoclint/src/validator.rs | 26 |
1 files changed, 20 insertions, 6 deletions
diff --git a/src/tools/jsondoclint/src/validator.rs b/src/tools/jsondoclint/src/validator.rs index 3226ea4f334..a0e77127dc2 100644 --- a/src/tools/jsondoclint/src/validator.rs +++ b/src/tools/jsondoclint/src/validator.rs @@ -63,7 +63,7 @@ impl<'a> Validator<'a> { ItemEnum::Struct(x) => self.check_struct(x), ItemEnum::StructField(x) => self.check_struct_field(x), ItemEnum::Enum(x) => self.check_enum(x), - ItemEnum::Variant(x) => self.check_variant(x), + ItemEnum::Variant(x) => self.check_variant(x, id), ItemEnum::Function(x) => self.check_function(x), ItemEnum::Trait(x) => self.check_trait(x), ItemEnum::TraitAlias(x) => self.check_trait_alias(x), @@ -135,9 +135,23 @@ impl<'a> Validator<'a> { x.impls.iter().for_each(|i| self.add_impl_id(i)); } - fn check_variant(&mut self, x: &'a Variant) { + fn check_variant(&mut self, x: &'a Variant, id: &'a Id) { match x { - Variant::Plain(_discriminant) => {} // TODO: Check discriminant value parses + Variant::Plain(discr) => { + if let Some(discr) = discr { + if let (Err(_), Err(_)) = + (discr.value.parse::<i128>(), discr.value.parse::<u128>()) + { + self.fail( + id, + ErrorKind::Custom(format!( + "Failed to parse discriminant value `{}`", + discr.value + )), + ); + } + } + } Variant::Tuple(tys) => tys.iter().flatten().for_each(|t| self.add_field_id(t)), Variant::Struct { fields, fields_stripped: _ } => { fields.iter().for_each(|f| self.add_field_id(f)) @@ -198,15 +212,15 @@ impl<'a> Validator<'a> { } fn check_macro(&mut self, _: &'a str) { - // TODO + // nop } fn check_proc_macro(&mut self, _: &'a ProcMacro) { - // TODO + // nop } fn check_primitive_type(&mut self, _: &'a str) { - // TODO + // nop } fn check_generics(&mut self, x: &'a Generics) { |
