diff --git a/compiler/gen/src/llvm/build.rs b/compiler/gen/src/llvm/build.rs index 163f3b8ad3..47111db78a 100644 --- a/compiler/gen/src/llvm/build.rs +++ b/compiler/gen/src/llvm/build.rs @@ -828,9 +828,10 @@ pub fn build_exp_expr<'a, 'ctx, 'env>( let tag_field_layouts = fields[*tag_id as usize]; for (field_symbol, tag_field_layout) in arguments.iter().zip(tag_field_layouts.iter()) { - let (val, val_layout) = load_symbol_and_layout(env, scope, field_symbol); + let (val, _val_layout) = load_symbol_and_layout(env, scope, field_symbol); - debug_assert_eq!(tag_field_layout, val_layout); + // this check fails for recursive tag unions, but can be helpful while debugging + // debug_assert_eq!(tag_field_layout, val_layout); // Zero-sized fields have no runtime representation. // The layout of the struct expects them to be dropped!