aboutsummaryrefslogtreecommitdiff
path: root/src/Sema.zig
diff options
context:
space:
mode:
authorBogdan Romanyuk <wrongnull@gmail.com>2023-11-10 14:18:43 +0300
committerVeikka Tuominen <git@vexu.eu>2023-11-10 18:39:42 +0200
commitec934c6d3294f1febe69453266556a82f64b59f0 (patch)
treec4fdd00957557080667bfe07f722cbdae21ea0a8 /src/Sema.zig
parent03adafd8023691af6a1e3d784a6e7e1f77d46859 (diff)
downloadzig-ec934c6d3294f1febe69453266556a82f64b59f0.tar.gz
zig-ec934c6d3294f1febe69453266556a82f64b59f0.zip
disallow calling @trap at comptime
Diffstat (limited to 'src/Sema.zig')
-rw-r--r--src/Sema.zig2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/Sema.zig b/src/Sema.zig
index 795f0c43fe..b7510cea54 100644
--- a/src/Sema.zig
+++ b/src/Sema.zig
@@ -5620,6 +5620,8 @@ fn zirTrap(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Zir.In
const src_node = sema.code.instructions.items(.data)[@intFromEnum(inst)].node;
const src = LazySrcLoc.nodeOffset(src_node);
sema.src = src;
+ if (block.is_comptime)
+ return sema.fail(block, src, "encountered @trap at comptime", .{});
_ = try block.addNoOp(.trap);
return always_noreturn;
}