mirror of
https://github.com/ziglang/zig.git
synced 2025-12-27 08:33:15 +00:00
Fix ownership of array type and elements
This commit is contained in:
parent
7ef5938450
commit
993dc2ae77
@ -8244,10 +8244,13 @@ fn zirArrayInit(sema: *Sema, block: *Scope.Block, inst: Zir.Inst.Index, is_ref:
|
||||
var anon_decl = try block.startAnonDecl();
|
||||
defer anon_decl.deinit();
|
||||
assert(!(resolved_args.len == 0));
|
||||
const final_ty = try Type.Tag.array.create(anon_decl.arena(), .{ .len = resolved_args.len, .elem_type = sema.typeOf(resolved_args[0]) });
|
||||
const final_ty = try Type.Tag.array.create(anon_decl.arena(), .{
|
||||
.len = resolved_args.len,
|
||||
.elem_type = try sema.typeOf(resolved_args[0]).copy(anon_decl.arena()),
|
||||
});
|
||||
const buf = try anon_decl.arena().alloc(Value, resolved_args.len);
|
||||
for (resolved_args) |arg, i| {
|
||||
buf[i] = (try sema.resolveMaybeUndefVal(block, src, arg)).?;
|
||||
buf[i] = try (try sema.resolveMaybeUndefVal(block, src, arg)).?.copy(anon_decl.arena());
|
||||
}
|
||||
|
||||
const val = try Value.Tag.array.create(anon_decl.arena(), buf);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user