diff options
| author | Jonas Schievink <jonasschievink@gmail.com> | 2020-03-28 21:15:45 +0100 |
|---|---|---|
| committer | Jonas Schievink <jonasschievink@gmail.com> | 2020-03-30 19:38:26 +0200 |
| commit | a1e7495a41bac25797a7b82aee18f350e406bc2a (patch) | |
| tree | 3786c2beb47e68a6a5e1e96b143b3fb9ce634866 | |
| parent | a80ec3b3b1d11ed83754885efdd07037d256dbf2 (diff) | |
| download | rust-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.rs | 18 | ||||
| -rw-r--r-- | src/librustc_trait_selection/traits/project.rs | 2 |
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; |
