✓
Passing Passing: the compiler rejects this program as expected.
Code
// TEST: aspirational - arbitrary stdlib events should be rejected inside kernel scope
~import std/kernel
~import std/io
~std/kernel:shape(Body) {
mass: f64,
}
~std/kernel:init(Body) {
{ mass: 1.0 },
}
| kernel k |> std/kernel:self { k.mass *= 2.0 } |> std/io:print.ln("mass updated")
Actual compiler output
error[KORU170]: unsupported construct 'std.io:print.ln' inside kernel scope at tests/regression/300_ADVANCED_FEATURES/390_KERNEL/390_053_reject_stdlib_event_in_kernel/input.kz:14:0; kernel scope currently allows only std.kernel:pairwise, std.kernel:self, std.kernel:step and std.kernel:reduce
--> tests/regression/300_ADVANCED_FEATURES/390_KERNEL/390_053_reject_stdlib_event_in_kernel/input.kz:10:0Error output must contain
unsupported construct 'std.io:print.ln' inside kernel scopeFlows
flow ~shape click a branch to expand · @labels scroll to their anchor
shape (expr: Body, source: mass: f64,)
flow ~init click a branch to expand · @labels scroll to their anchor
init (expr: Body, source: { mass: 1.0 },)
Test Configuration
MUST_ERROR