diff options
| author | Douglas Campos <qmx@qmx.me> | 2017-09-19 09:14:43 -0400 |
|---|---|---|
| committer | Douglas Campos <qmx@qmx.me> | 2017-09-29 22:34:46 -0400 |
| commit | 5eb302fba812b2c4105192c88d92cbdb8db7cd6f (patch) | |
| tree | 3bb0ea1af9554171f2005783026d07924ac867ef | |
| parent | 3bd09dee45c045307f6a1cd41498e362c5992fd9 (diff) | |
| download | rust-5eb302fba812b2c4105192c88d92cbdb8db7cd6f.tar.gz rust-5eb302fba812b2c4105192c88d92cbdb8db7cd6f.zip | |
always use resolve
| -rw-r--r-- | src/librustc_mir/transform/inline.rs | 23 |
1 files changed, 4 insertions, 19 deletions
diff --git a/src/librustc_mir/transform/inline.rs b/src/librustc_mir/transform/inline.rs index 41eaf864ca4..f8bdca519ce 100644 --- a/src/librustc_mir/transform/inline.rs +++ b/src/librustc_mir/transform/inline.rs @@ -87,32 +87,17 @@ impl<'a, 'tcx> Inliner<'a, 'tcx> { let terminator = bb_data.terminator(); if let TerminatorKind::Call { func: Operand::Constant(ref f), .. } = terminator.kind { - if let ty::TyFnDef(callee_def_id, substs) = f.ty.sty { - match self.tcx.trait_of_item(callee_def_id) { - Some(_) => { - match Instance::new(callee_def_id, substs).resolve(self.tcx) { - Some(instance) => { - callsites.push_back(CallSite { - callee: instance.def_id(), - substs: instance.substs, - bb, - location: terminator.source_info - }); - }, - None => {} - } - } - None => { + if let ty::TyFnDef(callee_def_id, substs) = f.ty.sty { + if let Some(instance) = Instance::new(callee_def_id, substs).resolve(self.tcx) { callsites.push_back(CallSite { - callee: callee_def_id, - substs, + callee: instance.def_id(), + substs: instance.substs, bb, location: terminator.source_info }); } } } - } } } |
