✓
Passing Passing: the compiler rejects this program as expected.
Code
// A malformed [size(...)] cannot refuse through SiteResult (no error
// channel) — the transform emits @compileError into the generated source:
// still compile-time, still teaching, never a silent default.
import std/fmt
import std/io
pub tor big { s: string }
big = std/io:print.ln("warm")
|> [size(xyz)]std/fmt:ln("{{ s:s }}"): l
|> std/io:print.ln(l.text)
big(s: "ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss")
Actual compiler output
Error: output_emitted.zig:137:13: error: unreachable code
const l = @compileError("std/fmt:ln: [size(xyz)] is not a size — digits with an optional k/m suffix, e.g. [size(16k)]");
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
output_emitted.zig:137:23: note: control flow is diverted here
const l = @compileError("std/fmt:ln: [size(xyz)] is not a size — digits with an optional k/m suffix, e.g. [size(16k)]");
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
output_emitted.zig:137:23: error: std/fmt:ln: [size(xyz)] is not a size — digits with an optional k/m suffix, e.g. [size(16k)]
const l = @compileError("std/fmt:ln: [size(xyz)] is not a size — digits with an optional k/m suffix, e.g. [size(16k)]");
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
referenced by:
flow0: output_emitted.zig:143:42
main: output_emitted.zig:185:22
4 reference(s) hidden; use '-freference-trace=6' to see all referencesMust fail at runtime with:
CONTAINS is not a sizeFlows
subflow ~big click a branch to expand · @labels scroll to their anchor
print.ln (expr: "warm")
flow ~big click a branch to expand · @labels scroll to their anchor
big (s: "ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss")
Test Configuration
MUST_ERROR