diff --git a/cli/src/repl/eval.rs b/cli/src/repl/eval.rs index a430f74f4d..51c1add683 100644 --- a/cli/src/repl/eval.rs +++ b/cli/src/repl/eval.rs @@ -243,7 +243,6 @@ fn struct_to_ast<'a>( let arena = env.arena; let subs = env.subs; let mut output = Vec::with_capacity_in(field_layouts.len(), &arena); - let mut field_ptr = ptr; // The fields, sorted alphabetically let sorted_fields = { @@ -258,6 +257,9 @@ fn struct_to_ast<'a>( debug_assert_eq!(sorted_fields.len(), field_layouts.len()); + // We'll advance this as we iterate through the fields + let mut field_ptr = ptr; + for ((label, field), field_layout) in sorted_fields.iter().zip(field_layouts.iter()) { let content = subs.get_without_compacting(*field.as_inner()).content; let loc_expr = &*arena.alloc(Located {