diff options
| author | Martin Fischer <martin@push-f.com> | 2021-11-22 08:03:37 +0100 | 
|---|---|---|
| committer | Martin Fischer <martin@push-f.com> | 2021-11-22 08:17:28 +0100 | 
| commit | 93e088f18959a95e71ec5084250b3ccd64d5340e (patch) | |
| tree | bc2241ac6882cc70e5c10d4dd803572728473ccf /src | |
| parent | 99a1e9f42e79a73e7ec3c08eb873d0ef271319d8 (diff) | |
refactor: change x.first().unwrap() to x[0]
Diffstat (limited to 'src')
| -rw-r--r-- | src/lib.rs | 2 | ||||
| -rw-r--r-- | src/parse_assoc_type.rs | 4 | ||||
| -rw-r--r-- | src/transform.rs | 28 | 
3 files changed, 15 insertions, 19 deletions
| @@ -362,7 +362,7 @@ fn generate_blanket_impl(  }  fn path_is_assoc_type(path: &Path) -> bool { -    path.segments.first().unwrap().ident == "Self" +    path.segments[0].ident == "Self"  }  fn match_assoc_type(item: TypeOrPath) -> bool { diff --git a/src/parse_assoc_type.rs b/src/parse_assoc_type.rs index 856735d..5bc86cb 100644 --- a/src/parse_assoc_type.rs +++ b/src/parse_assoc_type.rs @@ -58,10 +58,10 @@ pub fn parse_assoc_type(          if let PathSegment {              ident,              arguments: PathArguments::AngleBracketed(args), -        } = bound.path.segments.first().unwrap() +        } = &bound.path.segments[0]          {              if ident == "Into" && args.args.len() == 1 { -                if let GenericArgument::Type(into_type) = args.args.first().unwrap() { +                if let GenericArgument::Type(into_type) = &args.args[0] {                      // provide a better error message for type A: Into<Self::B>                      if iter_type(into_type).any(match_assoc_type) {                          return Err((into_type.span(), AssocTypeParseError::AssocTypeInBound)); diff --git a/src/transform.rs b/src/transform.rs index e9da115..0fee2e6 100644 --- a/src/transform.rs +++ b/src/transform.rs @@ -52,14 +52,13 @@ impl AssocTypeConversions<'_> {              }) = elem.as_mut()              {                  if bounds.len() == 1 { -                    if let TypeParamBound::Trait(bound) = bounds.first_mut().unwrap() { +                    if let TypeParamBound::Trait(bound) = &mut bounds[0] {                          if bound.path.segments.len() == 1 { -                            let first = bound.path.segments.first_mut().unwrap(); +                            let first = &mut bound.path.segments[0];                              if first.ident == "Iterator" {                                  if let PathArguments::AngleBracketed(args) = &mut first.arguments {                                      if args.args.len() == 1 { -                                        if let GenericArgument::Binding(binding) = -                                            args.args.first_mut().unwrap() +                                        if let GenericArgument::Binding(binding) = &mut args.args[0]                                          {                                              if binding.ident == "Item"                                                  && iter_type(&binding.ty).any(match_assoc_type) @@ -87,7 +86,7 @@ impl AssocTypeConversions<'_> {          }          if let Type::Path(TypePath { path, qself: None }) = type_ { -            let ident = &path.segments.first().unwrap().ident; +            let ident = &path.segments[0].ident;              if ident == "Self" && path.segments.len() == 2 {                  let ident = &path.segments.last().unwrap().ident; @@ -98,12 +97,11 @@ impl AssocTypeConversions<'_> {                  *type_ = dest_type.get_dest();                  return Ok(dest_type.type_transformation());              } else if ident == "Option" && path.segments.len() == 1 { -                let first_seg = path.segments.first_mut().unwrap(); +                let first_seg = &mut path.segments[0];                  if let PathArguments::AngleBracketed(args) = &mut first_seg.arguments {                      if args.args.len() == 1 { -                        if let GenericArgument::Type(generic_type) = args.args.first_mut().unwrap() -                        { +                        if let GenericArgument::Type(generic_type) = &mut args.args[0] {                              if iter_type(generic_type).any(match_assoc_type) {                                  return Ok(TypeTransform::Map(                                      self.parse_type_path(generic_type)?.into(), @@ -113,7 +111,8 @@ impl AssocTypeConversions<'_> {                      }                  }              } else if ident == "Result" && path.segments.len() == 1 { -                let first_seg = path.segments.first_mut().unwrap(); +                let first_seg = &mut path.segments[0]; +                  if let PathArguments::AngleBracketed(args) = &mut first_seg.arguments {                      if args.args.len() == 2 {                          let mut args_iter = args.args.iter_mut(); @@ -132,12 +131,11 @@ impl AssocTypeConversions<'_> {                      }                  }              } else if is_supported_collection(ident) && path.segments.len() == 1 { -                let first_seg = path.segments.first_mut().unwrap(); +                let first_seg = &mut path.segments[0];                  if let PathArguments::AngleBracketed(args) = &mut first_seg.arguments {                      if args.args.len() == 1 { -                        if let GenericArgument::Type(generic_type) = args.args.first_mut().unwrap() -                        { +                        if let GenericArgument::Type(generic_type) = &mut args.args[0] {                              if iter_type(generic_type).any(match_assoc_type) {                                  return Ok(TypeTransform::Collection(                                      self.parse_type_path(generic_type)?.into(), @@ -152,9 +150,7 @@ impl AssocTypeConversions<'_> {                      let last_seg = path.segments.last_mut().unwrap();                      if let PathArguments::AngleBracketed(args) = &mut last_seg.arguments {                          if args.args.len() == 1 { -                            if let GenericArgument::Type(generic_type) = -                                args.args.first_mut().unwrap() -                            { +                            if let GenericArgument::Type(generic_type) = &mut args.args[0] {                                  if iter_type(generic_type).any(match_assoc_type) {                                      return Ok(TypeTransform::Map(                                          self.parse_type_path(generic_type)?.into(), @@ -248,7 +244,7 @@ fn dynamize_trait_bound(      type_param_transforms: &mut HashMap<Ident, Vec<TypeTransform>>,  ) -> Result<(), (Span, MethodParseError)> {      if bound.path.segments.len() == 1 { -        let segment = bound.path.segments.first_mut().unwrap(); +        let segment = &mut bound.path.segments[0];          if let PathArguments::Parenthesized(args) = &mut segment.arguments {              if segment.ident == "Fn" || segment.ident == "FnOnce" || segment.ident == "FnMut" { | 
