]> git.lizzy.rs Git - rust.git/commitdiff
Retire rustc::ty::Attributes enum.
authorCamille GILLOT <gillot.camille@gmail.com>
Sat, 14 Mar 2020 16:43:27 +0000 (17:43 +0100)
committerCamille GILLOT <gillot.camille@gmail.com>
Sun, 5 Apr 2020 13:26:09 +0000 (15:26 +0200)
src/librustc_middle/ty/mod.rs
src/librustdoc/clean/mod.rs

index 5bd467f8793bde6416c8b189df47af0c650f0926..f35734fb353ddc31b1a3b41e80a0773503f2fbb8 100644 (file)
@@ -29,7 +29,7 @@
 use rustc_data_structures::fx::FxIndexMap;
 use rustc_data_structures::sorted_map::SortedIndexMultiMap;
 use rustc_data_structures::stable_hasher::{HashStable, StableHasher};
-use rustc_data_structures::sync::{self, par_iter, Lrc, ParallelIterator};
+use rustc_data_structures::sync::{self, par_iter, ParallelIterator};
 use rustc_hir as hir;
 use rustc_hir::def::{CtorKind, CtorOf, DefKind, Namespace, Res};
 use rustc_hir::def_id::{CrateNum, DefId, DefIdMap, LocalDefId, CRATE_DEF_INDEX};
@@ -2760,22 +2760,7 @@ pub fn to_user_str(&self) -> &'static str {
     }
 }
 
-#[derive(Debug, Clone)]
-pub enum Attributes<'tcx> {
-    Owned(Lrc<[ast::Attribute]>),
-    Borrowed(&'tcx [ast::Attribute]),
-}
-
-impl<'tcx> ::std::ops::Deref for Attributes<'tcx> {
-    type Target = [ast::Attribute];
-
-    fn deref(&self) -> &[ast::Attribute] {
-        match self {
-            &Attributes::Owned(ref data) => &data,
-            &Attributes::Borrowed(data) => data,
-        }
-    }
-}
+pub type Attributes<'tcx> = &'tcx [ast::Attribute];
 
 #[derive(Debug, PartialEq, Eq)]
 pub enum ImplOverlapKind {
@@ -3011,9 +2996,9 @@ pub fn instance_mir(self, instance: ty::InstanceDef<'tcx>) -> ReadOnlyBodyAndCac
     /// Gets the attributes of a definition.
     pub fn get_attrs(self, did: DefId) -> Attributes<'tcx> {
         if let Some(id) = self.hir().as_local_hir_id(did) {
-            Attributes::Borrowed(self.hir().attrs(id))
+            self.hir().attrs(id)
         } else {
-            Attributes::Borrowed(self.item_attrs(did))
+            self.item_attrs(did)
         }
     }
 
index 1c26d401d5612d8f9b9bcfb95bdea2ae16406a18..4d9b36d80103dc5d3a2d97582f772b3337ca5985 100644 (file)
@@ -2178,13 +2178,9 @@ fn clean(&self, cx: &DocContext<'_>) -> Vec<Item> {
 
             let res = Res::Def(DefKind::Mod, DefId { krate: self.cnum, index: CRATE_DEF_INDEX });
 
-            if let Some(items) = inline::try_inline(
-                cx,
-                res,
-                self.name,
-                Some(rustc_middle::ty::Attributes::Borrowed(self.attrs)),
-                &mut visited,
-            ) {
+            if let Some(items) =
+                inline::try_inline(cx, res, self.name, Some(self.attrs), &mut visited)
+            {
                 return items;
             }
         }
@@ -2245,13 +2241,9 @@ fn clean(&self, cx: &DocContext<'_>) -> Vec<Item> {
             }
             if !denied {
                 let mut visited = FxHashSet::default();
-                if let Some(items) = inline::try_inline(
-                    cx,
-                    path.res,
-                    name,
-                    Some(rustc_middle::ty::Attributes::Borrowed(self.attrs)),
-                    &mut visited,
-                ) {
+                if let Some(items) =
+                    inline::try_inline(cx, path.res, name, Some(self.attrs), &mut visited)
+                {
                     return items;
                 }
             }