Zig Version
0.16.0-dev.2736+3b515fbed
Steps to Reproduce and Observed Behavior
Run this code multiple times:
pubfnmain()void{// These work:@compileLog(@TypeOf(@as([2]u64,undefined)++@as([3]u64,undefined)));@compileLog(@TypeOf(@as([2]u64,.{1,2})++@as(struct{u32,u16,u8},.{3,4,5})));// This causes a crash:@compileLog(@TypeOf(@as([2]u64,undefined)++@as(struct{u32,u16,u8},undefined)));}It will crash with varying outputs:
[1] 62350 segmentation fault zig run "/tmp/bug.zig"
/tmp/bug.zig:7:51: error: expected type 'u64', found 'Build'
@compileLog(@TypeOf(@as([2]u64, undefined) ++ @as(struct { u32, u16, u8 }, undefined)));
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/fco/Library/Application Support/Code/User/globalStorage/ziglang.vscode-zig/zig/aarch64-macos-0.16.0-dev.2736+3b515fbed/lib/std/std.zig:3:5: note: struct declared here
pub const AutoArrayHashMap = array_hash_map.AutoArrayHashMap;
~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
referenced by:
callMain [inlined]: /Users/fco/Library/Application Support/Code/User/globalStorage/ziglang.vscode-zig/zig/aarch64-macos-0.16.0-dev.2736+3b515fbed/lib/std/start.zig:677:59
callMainWithArgs [inlined]: /Users/fco/Library/Application Support/Code/User/globalStorage/ziglang.vscode-zig/zig/aarch64-macos-0.16.0-dev.2736+3b515fbed/lib/std/start.zig:629:20
main: /Users/fco/Library/Application Support/Code/User/globalStorage/ziglang.vscode-zig/zig/aarch64-macos-0.16.0-dev.2736+3b515fbed/lib/std/start.zig:654:28
1 reference(s) hidden; use '-freference-trace=4' to see all references
Compile Log Output:
@as(type, [5]u64)
@as(type, [5]u64)
/tmp/bug.zig:7:51: error: expected type 'u64', found 'CompareOperator'
@compileLog(@TypeOf(@as([2]u64, undefined) ++ @as(struct { u32, u16, u8 }, undefined)));
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/fco/Library/Application Support/Code/User/globalStorage/ziglang.vscode-zig/zig/aarch64-macos-0.16.0-dev.2736+3b515fbed/lib/ubsan_rt.zig:339:1: note: struct declared here
fn outOfBounds(
^~
referenced by:
callMain [inlined]: /Users/fco/Library/Application Support/Code/User/globalStorage/ziglang.vscode-zig/zig/aarch64-macos-0.16.0-dev.2736+3b515fbed/lib/std/start.zig:677:59
callMainWithArgs [inlined]: /Users/fco/Library/Application Support/Code/User/globalStorage/ziglang.vscode-zig/zig/aarch64-macos-0.16.0-dev.2736+3b515fbed/lib/std/start.zig:629:20
main: /Users/fco/Library/Application Support/Code/User/globalStorage/ziglang.vscode-zig/zig/aarch64-macos-0.16.0-dev.2736+3b515fbed/lib/std/start.zig:654:28
1 reference(s) hidden; use '-freference-trace=4' to see all references
Compile Log Output:
@as(type, [5]u64)
@as(type, [5]u64)
Expected Behavior
Expected output:
/tmp/bug.zig:3:5: error: found compile log statement
@compileLog(@TypeOf(@as([2]u64, undefined) ++ @as([3]u64, undefined)));
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
referenced by:
callMain [inlined]: /Users/fco/Library/Application Support/Code/User/globalStorage/ziglang.vscode-zig/zig/aarch64-macos-0.16.0-dev.2736+3b515fbed/lib/std/start.zig:677:59
callMainWithArgs [inlined]: /Users/fco/Library/Application Support/Code/User/globalStorage/ziglang.vscode-zig/zig/aarch64-macos-0.16.0-dev.2736+3b515fbed/lib/std/start.zig:629:20
main: /Users/fco/Library/Application Support/Code/User/globalStorage/ziglang.vscode-zig/zig/aarch64-macos-0.16.0-dev.2736+3b515fbed/lib/std/start.zig:654:28
1 reference(s) hidden; use '-freference-trace=4' to see all references
Compile Log Output:
@as(type, [5]u64)
@as(type, [5]u64)
@as(type, [5]u64)
### Zig Version
0.16.0-dev.2736+3b515fbed
### Steps to Reproduce and Observed Behavior
Run this code multiple times:
```zig
pub fn main() void {
// These work:
@compileLog(@TypeOf(@as([2]u64, undefined) ++ @as([3]u64, undefined)));
@compileLog(@TypeOf(@as([2]u64, .{ 1, 2 }) ++ @as(struct { u32, u16, u8 }, .{ 3, 4, 5 })));
// This causes a crash:
@compileLog(@TypeOf(@as([2]u64, undefined) ++ @as(struct { u32, u16, u8 }, undefined)));
}
```
It will crash with varying outputs:
```
[1] 62350 segmentation fault zig run "/tmp/bug.zig"
```
```
/tmp/bug.zig:7:51: error: expected type 'u64', found 'Build'
@compileLog(@TypeOf(@as([2]u64, undefined) ++ @as(struct { u32, u16, u8 }, undefined)));
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/fco/Library/Application Support/Code/User/globalStorage/ziglang.vscode-zig/zig/aarch64-macos-0.16.0-dev.2736+3b515fbed/lib/std/std.zig:3:5: note: struct declared here
pub const AutoArrayHashMap = array_hash_map.AutoArrayHashMap;
~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
referenced by:
callMain [inlined]: /Users/fco/Library/Application Support/Code/User/globalStorage/ziglang.vscode-zig/zig/aarch64-macos-0.16.0-dev.2736+3b515fbed/lib/std/start.zig:677:59
callMainWithArgs [inlined]: /Users/fco/Library/Application Support/Code/User/globalStorage/ziglang.vscode-zig/zig/aarch64-macos-0.16.0-dev.2736+3b515fbed/lib/std/start.zig:629:20
main: /Users/fco/Library/Application Support/Code/User/globalStorage/ziglang.vscode-zig/zig/aarch64-macos-0.16.0-dev.2736+3b515fbed/lib/std/start.zig:654:28
1 reference(s) hidden; use '-freference-trace=4' to see all references
Compile Log Output:
@as(type, [5]u64)
@as(type, [5]u64)
```
```
/tmp/bug.zig:7:51: error: expected type 'u64', found 'CompareOperator'
@compileLog(@TypeOf(@as([2]u64, undefined) ++ @as(struct { u32, u16, u8 }, undefined)));
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/fco/Library/Application Support/Code/User/globalStorage/ziglang.vscode-zig/zig/aarch64-macos-0.16.0-dev.2736+3b515fbed/lib/ubsan_rt.zig:339:1: note: struct declared here
fn outOfBounds(
^~
referenced by:
callMain [inlined]: /Users/fco/Library/Application Support/Code/User/globalStorage/ziglang.vscode-zig/zig/aarch64-macos-0.16.0-dev.2736+3b515fbed/lib/std/start.zig:677:59
callMainWithArgs [inlined]: /Users/fco/Library/Application Support/Code/User/globalStorage/ziglang.vscode-zig/zig/aarch64-macos-0.16.0-dev.2736+3b515fbed/lib/std/start.zig:629:20
main: /Users/fco/Library/Application Support/Code/User/globalStorage/ziglang.vscode-zig/zig/aarch64-macos-0.16.0-dev.2736+3b515fbed/lib/std/start.zig:654:28
1 reference(s) hidden; use '-freference-trace=4' to see all references
Compile Log Output:
@as(type, [5]u64)
@as(type, [5]u64)
```
### Expected Behavior
Expected output:
```
/tmp/bug.zig:3:5: error: found compile log statement
@compileLog(@TypeOf(@as([2]u64, undefined) ++ @as([3]u64, undefined)));
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
referenced by:
callMain [inlined]: /Users/fco/Library/Application Support/Code/User/globalStorage/ziglang.vscode-zig/zig/aarch64-macos-0.16.0-dev.2736+3b515fbed/lib/std/start.zig:677:59
callMainWithArgs [inlined]: /Users/fco/Library/Application Support/Code/User/globalStorage/ziglang.vscode-zig/zig/aarch64-macos-0.16.0-dev.2736+3b515fbed/lib/std/start.zig:629:20
main: /Users/fco/Library/Application Support/Code/User/globalStorage/ziglang.vscode-zig/zig/aarch64-macos-0.16.0-dev.2736+3b515fbed/lib/std/start.zig:654:28
1 reference(s) hidden; use '-freference-trace=4' to see all references
Compile Log Output:
@as(type, [5]u64)
@as(type, [5]u64)
@as(type, [5]u64)
```