diff --git a/src/librustc/dep_graph/mod.rs b/src/librustc/dep_graph/mod.rs index 9bf0a79115e..3bb73ecca2c 100644 --- a/src/librustc/dep_graph/mod.rs +++ b/src/librustc/dep_graph/mod.rs @@ -11,7 +11,6 @@ use self::thread::{DepGraphThreadData, DepMessage}; use middle::def_id::DefId; use middle::ty; -use middle::ty::fast_reject::SimplifiedType; use rustc_front::hir; use rustc_front::intravisit::Visitor; use std::rc::Rc; @@ -102,7 +101,7 @@ pub enum DepNode { // which would yield an overly conservative dep-graph. TraitItems(DefId), ReprHints(DefId), - TraitSelect(DefId, Option), + TraitSelect(DefId), } #[derive(Clone)] diff --git a/src/librustc/middle/traits/mod.rs b/src/librustc/middle/traits/mod.rs index 8fecffcea9f..f58cc919959 100644 --- a/src/librustc/middle/traits/mod.rs +++ b/src/librustc/middle/traits/mod.rs @@ -20,7 +20,6 @@ use middle::def_id::DefId; use middle::free_region::FreeRegionMap; use middle::subst; use middle::ty::{self, Ty, TypeFoldable}; -use middle::ty::fast_reject; use middle::infer::{self, fixup_err_to_string, InferCtxt}; use std::rc::Rc; @@ -618,15 +617,8 @@ impl<'tcx> FulfillmentError<'tcx> { impl<'tcx> TraitObligation<'tcx> { /// Creates the dep-node for selecting/evaluating this trait reference. - fn dep_node(&self, tcx: &ty::ctxt<'tcx>) -> DepNode { - let simplified_ty = - fast_reject::simplify_type(tcx, - self.predicate.skip_binder().self_ty(), // (*) - true); - - // (*) skip_binder is ok because `simplify_type` doesn't care about regions - - DepNode::TraitSelect(self.predicate.def_id(), simplified_ty) + fn dep_node(&self) -> DepNode { + DepNode::TraitSelect(self.predicate.def_id()) } fn self_ty(&self) -> ty::Binder> { diff --git a/src/librustc/middle/traits/select.rs b/src/librustc/middle/traits/select.rs index 75992b6849b..59a62d130b8 100644 --- a/src/librustc/middle/traits/select.rs +++ b/src/librustc/middle/traits/select.rs @@ -307,7 +307,7 @@ impl<'cx, 'tcx> SelectionContext<'cx, 'tcx> { debug!("select({:?})", obligation); assert!(!obligation.predicate.has_escaping_regions()); - let dep_node = obligation.dep_node(self.tcx()); + let dep_node = obligation.dep_node(); let _task = self.tcx().dep_graph.in_task(dep_node); let stack = self.push_stack(TraitObligationStackList::empty(), obligation);