//ww:run-exit 0 // Run leg of the retired 926_tagged_sret_run.c row wide_s4_repro. package main; type s4 = struct { a: i64, b: i64, c: i64, d: i64 }; fn taglit4() (s4 | bool) = { return s4 { a = 1, b = 2, c = 3, d = 4 }; }; fn taglocal4() (s4 | bool) = { let v: s4 = s4 { a = 1, b = 2, c = 3, d = 4 }; return v; }; export fn main() i32 = { match (taglit4()) { case let r: s4 => { if (r.d != 4) { return 2; }; }; case let b: bool => return 3; }; match (taglocal4()) { case let r: s4 => { if (r.d != 4) { return 4; }; }; case let b: bool => return 5; }; return 0; };