mirror of
https://codeberg.org/ziglang/zig.git
synced 2025-12-06 05:44:20 +00:00
This is all of the expected 0.14.0 progress on #21530, which can now be postponed once this commit is merged. This required rewriting the (un)wrap operations since the original implementations were extremely buggy. Also adds an easy way to retrigger Sema OPV bugs so that I don't have to keep updating #22419 all the time.
30 lines
805 B
Zig
30 lines
805 B
Zig
export fn foo() void {
|
|
comptime bar(12, "hi");
|
|
_ = &bar;
|
|
}
|
|
fn bar(a: i32, b: []const u8) void {
|
|
@compileLog("begin");
|
|
@compileLog("a", a, "b", b);
|
|
@compileLog("end");
|
|
}
|
|
export fn baz() void {
|
|
const S = struct { a: u32 };
|
|
@compileLog(@sizeOf(S));
|
|
}
|
|
|
|
// error
|
|
// backend=stage2
|
|
// target=native
|
|
//
|
|
// :6:5: error: found compile log statement
|
|
// :6:5: note: also here
|
|
// :12:5: note: also here
|
|
//
|
|
// Compile Log Output:
|
|
// @as(*const [5:0]u8, "begin")
|
|
// @as(*const [1:0]u8, "a"), @as(i32, 12), @as(*const [1:0]u8, "b"), @as([]const u8, "hi"[0..2])
|
|
// @as(*const [3:0]u8, "end")
|
|
// @as(*const [5:0]u8, "begin")
|
|
// @as(*const [1:0]u8, "a"), @as(i32, [runtime value]), @as(*const [1:0]u8, "b"), @as([]const u8, [runtime value])
|
|
// @as(*const [3:0]u8, "end")
|
|
// @as(comptime_int, 4)
|