//ww:error "3/5/6/7-byte sub-8 tail unwired" // #11 tripwire: an in-cap aggregate-returning CALL into an aggregate field of // an indexed element where the field has a 3/5/6/7-byte sub-8 tail (here 14B // 7xi16, tail=6). The materialise's single narrow MOV stores only one tail byte // while the copy reads the full tail -> a SILENT both-stage member drop. Both // stages LOUD-STOP until a general register->scratch tail lands (rule 7, // C2c-shared). SUCCESS = the loud-stop regressed to a silent miscompile. package main; type t14 = struct { a:i16,b:i16,c:i16,d:i16,e:i16,f:i16,g:i16 }; type s14 = struct { x: t14, pad: i16 }; fn mk() t14 = { return t14{a=1i16,b=2i16,c=3i16,d=4i16,e=5i16,f=6i16,g=7i16}; }; export fn main() i32 = { let arr: [2]s14; arr[1].x = mk(); return 0; };