Skip to content

Commit 7e07f3d

Browse files
topolarityVexu
authored andcommitted
stage2 astgen: Use rl semantics for @Type
Resolves #12430.
1 parent bfe8a4d commit 7e07f3d

File tree

3 files changed

+14
-1
lines changed

3 files changed

+14
-1
lines changed

src/AstGen.zig

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7676,7 +7676,8 @@ fn builtinCall(
76767676
} },
76777677
});
76787678
gz.instructions.appendAssumeCapacity(new_index);
7679-
return indexToRef(new_index);
7679+
const result = indexToRef(new_index);
7680+
return rvalue(gz, rl, result, node);
76807681
},
76817682
.panic => {
76827683
try emitDbgNode(gz, node);

test/behavior.zig

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,7 @@ test {
8484
_ = @import("behavior/bugs/11213.zig");
8585
_ = @import("behavior/bugs/12003.zig");
8686
_ = @import("behavior/bugs/12033.zig");
87+
_ = @import("behavior/bugs/12430.zig");
8788
_ = @import("behavior/byteswap.zig");
8889
_ = @import("behavior/byval_arg_var.zig");
8990
_ = @import("behavior/call.zig");

test/behavior/bugs/12430.zig

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
const std = @import("std");
2+
3+
test {
4+
const T = comptime b: {
5+
break :b @Type(.{ .Int = .{
6+
.signedness = .unsigned,
7+
.bits = 8,
8+
} });
9+
};
10+
try std.testing.expect(T == u8);
11+
}

0 commit comments

Comments
 (0)