diff options
author | Greg Brown <gmb60@cam.ac.uk> | 2021-01-21 09:42:02 +0000 |
---|---|---|
committer | Greg Brown <gmb60@cam.ac.uk> | 2021-01-21 17:45:02 +0000 |
commit | 1a93b1f82bc8c21d24e67031c5eca96830e928c7 (patch) | |
tree | 4c3fbfac9f0fbbc31defee03cd460e0400278d30 /src/lower/mod.rs | |
parent | faa3f30deb32d0a1fd7cb196559762635b22ecfd (diff) |
Fix many warnings.
Diffstat (limited to 'src/lower/mod.rs')
-rw-r--r-- | src/lower/mod.rs | 30 |
1 files changed, 12 insertions, 18 deletions
diff --git a/src/lower/mod.rs b/src/lower/mod.rs index aaa39ed..6ad1d0a 100644 --- a/src/lower/mod.rs +++ b/src/lower/mod.rs @@ -8,15 +8,10 @@ use proc_macro2::{Ident, Span, TokenStream, TokenTree}; use quote::{format_ident, quote, quote_spanned}; use syn::{Index, LitStr}; -use crate::chomp::{ - ast, - set::FirstSet, - typed::{ +use crate::chomp::{Name, ast, set::FirstSet, typed::{ lower::{Backend, GenerateCode}, Alt, Cat, Epsilon, Fix, Literal, Type, Typed, TypedExpression, Variable, - }, - Name, -}; + }}; #[derive(Clone, Debug)] struct Ty { @@ -110,7 +105,7 @@ impl RustBackend { None => format_ident!("{}{}", default, index + 1, span = span), Some(name) => { let name = name.to_snake_case().into_ident(span); - let count = name_map.entry(name.clone()).or_insert(0usize); + let count = name_map.entry(name.clone()).or_insert(0_usize); *count += 1; format_ident!("{}{}", name, count) } @@ -128,7 +123,7 @@ impl RustBackend { None => format_ident!("{}{}", default, index + 1, span = span), Some(name) => { let name = name.to_camel_case().into_ident(span); - let count = name_map.entry(name.clone()).or_insert(0usize); + let count = name_map.entry(name.clone()).or_insert(0_usize); *count += 1; format_ident!("{}{}", name, count) } @@ -202,15 +197,14 @@ impl Backend for RustBackend { } }; - if lit.value().len() == 1 { + if let Some(c) = lit.value().chars().next() { self.can_char.insert(id); - let c = lit.value().chars().next().unwrap(); rest.extend(quote_spanned! {span=> - impl From<#name> for char { - fn from(_: #name) -> Self { - #c - } - } + impl From<#name> for char { + fn from(_: #name) -> Self { + #c + } + } }); } @@ -308,7 +302,7 @@ impl Backend for RustBackend { .map(|(idx, _)| name_parts[idx].clone()); let (first_alts, firsts): (Vec<_>, Vec<_>) = tys .iter() - .map(|ty| ty.first_set()) + .map(Type::first_set) .cloned() .enumerate() .filter(|(_, fs)| !fs.is_empty()) @@ -319,7 +313,7 @@ impl Backend for RustBackend { .unzip(); let all_firsts = tys .iter() - .map(|ty| ty.first_set()) + .map(Type::first_set) .cloned() .flat_map(FirstSet::into_iter); |