040 self basic

✓ Passing This code compiles and runs correctly.

Code

// TEST: kernel:self basic per-element operation
//
// Verifies:
// 1. kernel:self transforms into a single loop over all elements
// 2. k.X → ptr[i].X (no k.other)
// 3. The view flows through continuations properly

~import "$std/kernel"
~import "$std/io"

~std.kernel:shape(Body) {
    mass: f64,
}

~std.kernel:init(Body) {
    { mass: 1.0 },
    { mass: 2.0 },
    { mass: 3.0 },
}
| kernel k |>
    std.kernel:self { k.mass *= 2.0 }
    |> std.io:print.blk {
        mass[0]={{ k[0].mass:f }} mass[1]={{ k[1].mass:f }} mass[2]={{ k[2].mass:f }}
    }
input.kz

Expected

mass[0]=2 mass[1]=4 mass[2]=6

Actual

mass[0]=2 mass[1]=4 mass[2]=6

Test Configuration

MUST_RUN