From bad80fe4ba4420bf58b7e11929ef40f458845037 Mon Sep 17 00:00:00 2001 From: Niko Matsakis Date: Thu, 22 Mar 2018 12:21:38 -0400 Subject: [PATCH] move the defaut object lifetime bound into the trait This way, we don't have to repeat it. --- src/librustc/traits/engine.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/librustc/traits/engine.rs b/src/librustc/traits/engine.rs index c2d7a0cdd288..8eee6f35ab95 100644 --- a/src/librustc/traits/engine.rs +++ b/src/librustc/traits/engine.rs @@ -15,7 +15,7 @@ use hir::def_id::DefId; use super::{FulfillmentContext, FulfillmentError}; use super::{ObligationCause, PendingPredicateObligation, PredicateObligation}; -pub trait TraitEngine<'tcx> { +pub trait TraitEngine<'tcx>: 'tcx { fn normalize_projection_type<'a, 'gcx>( &mut self, infcx: &InferCtxt<'a, 'gcx, 'tcx>, @@ -52,7 +52,7 @@ pub trait TraitEngine<'tcx> { fn pending_obligations(&self) -> Vec>; } -impl<'a, 'gcx, 'tcx> TraitEngine<'tcx> + 'tcx { +impl<'a, 'gcx, 'tcx> dyn TraitEngine<'tcx> { pub fn new(_tcx: TyCtxt<'_, '_, 'tcx>) -> Box { Box::new(FulfillmentContext::new()) }