about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJonas Schievink <jonasschievink@gmail.com>2020-03-28 21:15:45 +0100
committerJonas Schievink <jonasschievink@gmail.com>2020-03-30 19:38:26 +0200
commita1e7495a41bac25797a7b82aee18f350e406bc2a (patch)
tree3786c2beb47e68a6a5e1e96b143b3fb9ce634866
parenta80ec3b3b1d11ed83754885efdd07037d256dbf2 (diff)
downloadrust-a1e7495a41bac25797a7b82aee18f350e406bc2a.tar.gz
rust-a1e7495a41bac25797a7b82aee18f350e406bc2a.zip
Simplify `NodeItem`
The generic parameter is unused, and so is `map`
-rw-r--r--src/librustc_middle/traits/specialization_graph.rs18
-rw-r--r--src/librustc_trait_selection/traits/project.rs2
2 files changed, 8 insertions, 12 deletions
diff --git a/src/librustc_middle/traits/specialization_graph.rs b/src/librustc_middle/traits/specialization_graph.rs
index 1847326a742..b09f1e66f17 100644
--- a/src/librustc_middle/traits/specialization_graph.rs
+++ b/src/librustc_middle/traits/specialization_graph.rs
@@ -154,15 +154,9 @@ impl Iterator for Ancestors<'_> {
     }
 }
 
-pub struct NodeItem<T> {
+pub struct NodeItem {
     pub node: Node,
-    pub item: T,
-}
-
-impl<T> NodeItem<T> {
-    pub fn map<U, F: FnOnce(T) -> U>(self, f: F) -> NodeItem<U> {
-        NodeItem { node: self.node, item: f(self.item) }
-    }
+    pub item: ty::AssocItem,
 }
 
 impl<'tcx> Ancestors<'tcx> {
@@ -173,7 +167,7 @@ impl<'tcx> Ancestors<'tcx> {
         tcx: TyCtxt<'tcx>,
         trait_item_name: Ident,
         trait_item_kind: ty::AssocKind,
-    ) -> Option<NodeItem<ty::AssocItem>> {
+    ) -> Option<NodeItem> {
         let trait_def_id = self.trait_def_id;
         self.find_map(|node| {
             node.item(tcx, trait_item_name, trait_item_kind, trait_def_id)
@@ -183,8 +177,10 @@ impl<'tcx> Ancestors<'tcx> {
 }
 
 /// Walk up the specialization ancestors of a given impl, starting with that
-/// impl itself. Returns `None` if an error was reported while building the
-/// specialization graph.
+/// impl itself.
+///
+/// Returns `Err` if an error was reported while building the specialization
+/// graph.
 pub fn ancestors(
     tcx: TyCtxt<'tcx>,
     trait_def_id: DefId,
diff --git a/src/librustc_trait_selection/traits/project.rs b/src/librustc_trait_selection/traits/project.rs
index 2eb63b8f590..1e26b62c759 100644
--- a/src/librustc_trait_selection/traits/project.rs
+++ b/src/librustc_trait_selection/traits/project.rs
@@ -1447,7 +1447,7 @@ fn assoc_ty_def(
     selcx: &SelectionContext<'_, '_>,
     impl_def_id: DefId,
     assoc_ty_def_id: DefId,
-) -> Result<specialization_graph::NodeItem<ty::AssocItem>, ErrorReported> {
+) -> Result<specialization_graph::NodeItem, ErrorReported> {
     let tcx = selcx.tcx();
     let assoc_ty_name = tcx.associated_item(assoc_ty_def_id).ident;
     let trait_def_id = tcx.impl_trait_ref(impl_def_id).unwrap().def_id;