authorgravatar for wrongnull@gmail.comBogdan Romanyuk <wrongnull@gmail.com> 2023-11-10 14:18:43+03:00
committergravatar for git@vexu.euVeikka Tuominen <git@vexu.eu> 2023-11-10 18:39:42+02:00
logec934c6d3294f1febe69453266556a82f64b59f0
treec4fdd00957557080667bfe07f722cbdae21ea0a8
parent03adafd8023691af6a1e3d784a6e7e1f77d46859

disallow calling @trap at comptime


2 files changed, 11 insertions(+), 0 deletions(-)

src/Sema.zig+2
......@@ -5620,6 +5620,8 @@ fn zirTrap(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Zir.In
56205620 const src_node = sema.code.instructions.items(.data)[@intFromEnum(inst)].node;
56215621 const src = LazySrcLoc.nodeOffset(src_node);
56225622 sema.src = src;
5623 if (block.is_comptime)
5624 return sema.fail(block, src, "encountered @trap at comptime", .{});
56235625 _ = try block.addNoOp(.trap);
56245626 return always_noreturn;
56255627}
test/cases/compile_errors/@trap_comptime_call.zig created+9
......@@ -0,0 +1,9 @@
1pub fn entry() void {
2 comptime @trap();
3}
4
5// error
6// backend=stage2
7// target=native
8//
9// :2:14: error: encountered @trap at comptime