]> git.lizzy.rs Git - rust.git/blobdiff - src/librustdoc/clean/auto_trait.rs
Rollup merge of #68462 - matthiaskrgr:novec, r=varkor
[rust.git] / src / librustdoc / clean / auto_trait.rs
index c8b63ed5c80961dc0d588c3c901b6e1d8130c5ee..27f8059691a14040701622ecbada80a9c5efb7e1 100644 (file)
@@ -239,7 +239,7 @@ fn handle_lifetimes<'cx>(
         //  constraint, and add it to our list. Since we make sure to never re-add
         //  deleted items, this process will always finish.
         while !vid_map.is_empty() {
-            let target = vid_map.keys().next().expect("Keys somehow empty").clone();
+            let target = *vid_map.keys().next().expect("Keys somehow empty");
             let deps = vid_map.remove(&target).expect("Entry somehow missing");
 
             for smaller in deps.smaller.iter() {
@@ -462,7 +462,7 @@ fn param_env_to_generics(
             .filter(|p| {
                 !orig_bounds.contains(p)
                     || match p {
-                        &&ty::Predicate::Trait(pred) => pred.def_id() == sized_trait,
+                        ty::Predicate::Trait(pred, _) => pred.def_id() == sized_trait,
                         _ => false,
                     }
             })
@@ -560,8 +560,8 @@ fn param_env_to_generics(
                     lifetime_to_bounds.entry(lifetime).or_default().extend(bounds);
                 }
                 WherePredicate::EqPredicate { lhs, rhs } => {
-                    match &lhs {
-                        &Type::QPath { name: ref left_name, ref self_type, ref trait_ } => {
+                    match lhs {
+                        Type::QPath { name: ref left_name, ref self_type, ref trait_ } => {
                             let ty = &*self_type;
                             match **trait_ {
                                 Type::ResolvedPath {
@@ -580,36 +580,30 @@ fn param_env_to_generics(
                                         continue;
                                     }
 
-                                    // FIXME: Remove this scope when NLL lands
-                                    {
-                                        let args = &mut new_trait_path
-                                            .segments
-                                            .last_mut()
-                                            .expect("segments were empty")
-                                            .args;
-
-                                        match args {
-                                            // Convert somethiung like '<T as Iterator::Item> = u8'
-                                            // to 'T: Iterator<Item=u8>'
-                                            &mut GenericArgs::AngleBracketed {
-                                                ref mut bindings,
-                                                ..
-                                            } => {
-                                                bindings.push(TypeBinding {
-                                                    name: left_name.clone(),
-                                                    kind: TypeBindingKind::Equality { ty: rhs },
-                                                });
-                                            }
-                                            &mut GenericArgs::Parenthesized { .. } => {
-                                                existing_predicates.push(
-                                                    WherePredicate::EqPredicate {
-                                                        lhs: lhs.clone(),
-                                                        rhs,
-                                                    },
-                                                );
-                                                continue; // If something other than a Fn ends up
-                                                // with parenthesis, leave it alone
-                                            }
+                                    let args = &mut new_trait_path
+                                        .segments
+                                        .last_mut()
+                                        .expect("segments were empty")
+                                        .args;
+
+                                    match args {
+                                        // Convert somethiung like '<T as Iterator::Item> = u8'
+                                        // to 'T: Iterator<Item=u8>'
+                                        GenericArgs::AngleBracketed {
+                                            ref mut bindings, ..
+                                        } => {
+                                            bindings.push(TypeBinding {
+                                                name: left_name.clone(),
+                                                kind: TypeBindingKind::Equality { ty: rhs },
+                                            });
+                                        }
+                                        GenericArgs::Parenthesized { .. } => {
+                                            existing_predicates.push(WherePredicate::EqPredicate {
+                                                lhs: lhs.clone(),
+                                                rhs,
+                                            });
+                                            continue; // If something other than a Fn ends up
+                                            // with parenthesis, leave it alone
                                         }
                                     }