about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/librustc_trans/callee.rs24
-rw-r--r--src/librustc_trans/meth.rs10
2 files changed, 18 insertions, 16 deletions
diff --git a/src/librustc_trans/callee.rs b/src/librustc_trans/callee.rs
index 44e94a1dfe3..dea0a2664a0 100644
--- a/src/librustc_trans/callee.rs
+++ b/src/librustc_trans/callee.rs
@@ -385,13 +385,14 @@ fn trans_fn_once_adapter_shim<'a, 'tcx>(
 
     if fn_ret.0.is_never() {
         bcx.unreachable();
-    }
-    self_scope.trans(&bcx);
-
-    if fcx.fn_ty.ret.is_indirect() || fcx.fn_ty.ret.is_ignore() {
-        bcx.ret_void();
     } else {
-        bcx.ret(llret);
+        self_scope.trans(&bcx);
+
+        if fcx.fn_ty.ret.is_indirect() || fcx.fn_ty.ret.is_ignore() {
+            bcx.ret_void();
+        } else {
+            bcx.ret(llret);
+        }
     }
 
     ccx.instances().borrow_mut().insert(method_instance, lloncefn);
@@ -521,13 +522,14 @@ fn trans_fn_pointer_shim<'a, 'tcx>(
 
     if fn_ret.0.is_never() {
         bcx.unreachable();
-    }
-
-    if fn_ty.ret.is_indirect() || fcx.fn_ty.ret.is_ignore() {
-        bcx.ret_void();
     } else {
-        bcx.ret(llret);
+        if fn_ty.ret.is_indirect() || fcx.fn_ty.ret.is_ignore() {
+            bcx.ret_void();
+        } else {
+            bcx.ret(llret);
+        }
     }
+
     ccx.fn_pointer_shims().borrow_mut().insert(bare_fn_ty_maybe_ref, llfn);
 
     llfn
diff --git a/src/librustc_trans/meth.rs b/src/librustc_trans/meth.rs
index df893ac7ab0..89ea7a760d4 100644
--- a/src/librustc_trans/meth.rs
+++ b/src/librustc_trans/meth.rs
@@ -102,12 +102,12 @@ pub fn trans_object_shim<'a, 'tcx>(ccx: &'a CrateContext<'a, 'tcx>,
 
     if fn_ret.0.is_never() {
         bcx.unreachable();
-    }
-
-    if fn_ty.ret.is_indirect() || fcx.fn_ty.ret.is_ignore() {
-        bcx.ret_void();
     } else {
-        bcx.ret(llret);
+        if fn_ty.ret.is_indirect() || fcx.fn_ty.ret.is_ignore() {
+            bcx.ret_void();
+        } else {
+            bcx.ret(llret);
+        }
     }
 
     llfn