]> git.lizzy.rs Git - rust.git/blobdiff - src/librustc_typeck/variance/terms.rs
Rollup merge of #68485 - kingslef:fix/test-60976, r=nikomatsakis
[rust.git] / src / librustc_typeck / variance / terms.rs
index 863a0b267fddd6ef5c617b81190be6643b6de9b8..dd593a6abb4fe5a28535db015b9ee706182d17d8 100644 (file)
 
 use arena::TypedArena;
 use rustc::ty::{self, TyCtxt};
+use rustc_hir as hir;
+use rustc_hir::itemlikevisit::ItemLikeVisitor;
+use rustc_hir::HirIdMap;
 use std::fmt;
-use rustc::hir;
-use rustc::hir::itemlikevisit::ItemLikeVisitor;
-use crate::util::nodemap::HirIdMap;
 
 use self::VarianceTerm::*;
 
@@ -35,12 +35,10 @@ fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
         match *self {
             ConstantTerm(c1) => write!(f, "{:?}", c1),
             TransformTerm(v1, v2) => write!(f, "({:?} \u{00D7} {:?})", v1, v2),
-            InferredTerm(id) => {
-                write!(f, "[{}]", {
-                    let InferredIndex(i) = id;
-                    i
-                })
-            }
+            InferredTerm(id) => write!(f, "[{}]", {
+                let InferredIndex(i) = id;
+                i
+            }),
         }
     }
 }
@@ -91,13 +89,13 @@ fn lang_items(tcx: TyCtxt<'_>) -> Vec<(hir::HirId, Vec<ty::Variance>)> {
     let all = vec![
         (lang_items.phantom_data(), vec![ty::Covariant]),
         (lang_items.unsafe_cell_type(), vec![ty::Invariant]),
-        ];
+    ];
 
     all.into_iter() // iterating over (Option<DefId>, Variance)
-       .filter(|&(ref d,_)| d.is_some())
-       .map(|(d, v)| (d.unwrap(), v)) // (DefId, Variance)
-       .filter_map(|(d, v)| tcx.hir().as_local_hir_id(d).map(|n| (n, v))) // (HirId, Variance)
-       .collect()
+        .filter(|&(ref d, _)| d.is_some())
+        .map(|(d, v)| (d.unwrap(), v)) // (DefId, Variance)
+        .filter_map(|(d, v)| tcx.hir().as_local_hir_id(d).map(|n| (n, v))) // (HirId, Variance)
+        .collect()
 }
 
 impl<'a, 'tcx> TermsContext<'a, 'tcx> {
@@ -120,20 +118,18 @@ fn add_inferreds_for_item(&mut self, id: hir::HirId) {
         // for a particular item are assigned continuous indices.
 
         let arena = self.arena;
-        self.inferred_terms.extend((start..(start + count)).map(|i| {
-            &*arena.alloc(InferredTerm(InferredIndex(i)))
-        }));
+        self.inferred_terms.extend(
+            (start..(start + count)).map(|i| &*arena.alloc(InferredTerm(InferredIndex(i)))),
+        );
     }
 }
 
 impl<'a, 'tcx, 'v> ItemLikeVisitor<'v> for TermsContext<'a, 'tcx> {
-    fn visit_item(&mut self, item: &hir::Item) {
-        debug!("add_inferreds for item {}",
-               self.tcx.hir().node_to_string(item.hir_id));
+    fn visit_item(&mut self, item: &hir::Item<'_>) {
+        debug!("add_inferreds for item {}", self.tcx.hir().node_to_string(item.hir_id));
 
         match item.kind {
-            hir::ItemKind::Struct(ref struct_def, _) |
-            hir::ItemKind::Union(ref struct_def, _) => {
+            hir::ItemKind::Struct(ref struct_def, _) | hir::ItemKind::Union(ref struct_def, _) => {
                 self.add_inferreds_for_item(item.hir_id);
 
                 if let hir::VariantData::Tuple(..) = *struct_def {
@@ -144,7 +140,7 @@ fn visit_item(&mut self, item: &hir::Item) {
             hir::ItemKind::Enum(ref enum_def, _) => {
                 self.add_inferreds_for_item(item.hir_id);
 
-                for variant in &enum_def.variants {
+                for variant in enum_def.variants {
                     if let hir::VariantData::Tuple(..) = variant.data {
                         self.add_inferreds_for_item(variant.data.ctor_hir_id().unwrap());
                     }
@@ -156,7 +152,7 @@ fn visit_item(&mut self, item: &hir::Item) {
             }
 
             hir::ItemKind::ForeignMod(ref foreign_mod) => {
-                for foreign_item in &foreign_mod.items {
+                for foreign_item in foreign_mod.items {
                     if let hir::ForeignItemKind::Fn(..) = foreign_item.kind {
                         self.add_inferreds_for_item(foreign_item.hir_id);
                     }
@@ -167,13 +163,13 @@ fn visit_item(&mut self, item: &hir::Item) {
         }
     }
 
-    fn visit_trait_item(&mut self, trait_item: &hir::TraitItem) {
+    fn visit_trait_item(&mut self, trait_item: &hir::TraitItem<'_>) {
         if let hir::TraitItemKind::Method(..) = trait_item.kind {
             self.add_inferreds_for_item(trait_item.hir_id);
         }
     }
 
-    fn visit_impl_item(&mut self, impl_item: &hir::ImplItem) {
+    fn visit_impl_item(&mut self, impl_item: &hir::ImplItem<'_>) {
         if let hir::ImplItemKind::Method(..) = impl_item.kind {
             self.add_inferreds_for_item(impl_item.hir_id);
         }