diff options
-rw-r--r-- | src/trans/codegen_c.cpp | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/src/trans/codegen_c.cpp b/src/trans/codegen_c.cpp index 829aa7f7..5c180fe7 100644 --- a/src/trans/codegen_c.cpp +++ b/src/trans/codegen_c.cpp @@ -2774,13 +2774,16 @@ namespace { { // HACK: Don't emit assignment of PhantomData ::HIR::TypeRef tmp; - const auto& ty = mir_res.get_param_type(tmp, ve.vals[j]); - if( ve.vals[j].is_LValue() && m_resolve.is_type_phantom_data(ty) ) - continue ; - - if( this->type_is_bad_zst(ty) ) + if( ve.vals[j].is_LValue() ) { - continue ; + const auto& ty = mir_res.get_param_type(tmp, ve.vals[j]); + if( ve.vals[j].is_LValue() && m_resolve.is_type_phantom_data(ty) ) + continue ; + + if( this->type_is_bad_zst(ty) ) + { + continue ; + } } if(has_emitted) { |