diff --git a/compiler/gen_llvm/src/llvm/build.rs b/compiler/gen_llvm/src/llvm/build.rs index 0cb9d1e77e..dbaea34d79 100644 --- a/compiler/gen_llvm/src/llvm/build.rs +++ b/compiler/gen_llvm/src/llvm/build.rs @@ -1440,12 +1440,6 @@ pub fn build_exp_expr<'a, 'ctx, 'env>( structure, wrapped: Wrapped::RecordOrSingleTagUnion, .. - } - | AccessAtIndex { - index, - structure, - wrapped: Wrapped::LikeARoseTree, - .. } => { // extract field from a record match load_symbol_and_layout(scope, structure) { diff --git a/compiler/mono/src/alias_analysis.rs b/compiler/mono/src/alias_analysis.rs index d9ce3aa1bc..4b089f002c 100644 --- a/compiler/mono/src/alias_analysis.rs +++ b/compiler/mono/src/alias_analysis.rs @@ -896,10 +896,6 @@ fn expr_spec( Wrapped::RecordOrSingleTagUnion => { builder.add_get_tuple_field(block, value_id, *index as u32) } - Wrapped::LikeARoseTree => { - let result_type = layout_spec(builder, layout)?; - builder.add_unknown_with(block, &[value_id], result_type) - } } } Array { elem_layout, elems } => { diff --git a/compiler/mono/src/ir.rs b/compiler/mono/src/ir.rs index 374fe64bfd..4fbdcc92e4 100644 --- a/compiler/mono/src/ir.rs +++ b/compiler/mono/src/ir.rs @@ -1019,8 +1019,6 @@ pub enum Wrapped { EmptyRecord, SingleElementRecord, RecordOrSingleTagUnion, - /// Like a rose tree; recursive, but only one tag - LikeARoseTree, } impl Wrapped { @@ -1058,7 +1056,7 @@ impl Wrapped { unreachable!() } }, - NonNullableUnwrapped(_) => Some(Wrapped::LikeARoseTree), + NonNullableUnwrapped(_) => unreachable!(), NullableWrapped { .. } | NullableUnwrapped { .. } => { unreachable!();