// Phase 1 (xx-via-Into mechanism): proves the new syntax parses + lowers // without error. The parameterised protocol Into(Target: Type) and the // matching `impl Into(Block) for Closure() -> void` declarations are // registered but unused. Resolution (Phase 3) is what makes the impl // reachable from `xx`. #import "modules/std.sx"; MyTag :: struct { value: s64 = 0; } impl Into(MyTag) for s64 { convert :: (self: s64) -> MyTag { .{ value = self }; } } main :: () -> s32 { print("ok\n"); 0; }