fn f(x : i32) -> i32 { if (x == 10) { discard; } return x; } @stage(fragment) fn main(@location(1) x: vec3) -> @location(2) i32 { var y = x.x; loop { let r = f(y); if (r == 0) { break; } } return y; }