From 39b468e17a4977f0be82f47880a32b99842853fa Mon Sep 17 00:00:00 2001 From: Marijn Haverbeke Date: Thu, 6 Oct 2011 09:40:42 +0200 Subject: [PATCH] Fix problem with polymorphic return value being instantiated as nil Closes #1005 --- src/comp/middle/trans.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/comp/middle/trans.rs b/src/comp/middle/trans.rs index 3c7dbe465527..10418cdfc542 100644 --- a/src/comp/middle/trans.rs +++ b/src/comp/middle/trans.rs @@ -3785,7 +3785,7 @@ fn trans_args(cx: @block_ctxt, outer_cx: @block_ctxt, llenv: ValueRef, } else { alt dest { ignore. { - if ty::type_is_nil(tcx, full_retty) || + if ty::type_is_nil(tcx, retty) || !option::is_none(lliterbody) { llvm::LLVMGetUndef(T_ptr(llretty)) } else { alloca(cx, llretty) }