about summary refs log tree commit diff
diff options
context:
space:
mode:
authorDouglas Campos <qmx@qmx.me>2017-09-19 09:14:43 -0400
committerDouglas Campos <qmx@qmx.me>2017-09-29 22:34:46 -0400
commit5eb302fba812b2c4105192c88d92cbdb8db7cd6f (patch)
tree3bb0ea1af9554171f2005783026d07924ac867ef
parent3bd09dee45c045307f6a1cd41498e362c5992fd9 (diff)
downloadrust-5eb302fba812b2c4105192c88d92cbdb8db7cd6f.tar.gz
rust-5eb302fba812b2c4105192c88d92cbdb8db7cd6f.zip
always use resolve
-rw-r--r--src/librustc_mir/transform/inline.rs23
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
                                 });
                             }
                         }
                     }
-                }
             }
         }