//ww:run // #59.5: a str returned by an INDIRECT fn-pointer call, passed // directly as a call arg. The pre-fix wwstage nodeisstr/nodeisslice // N_CALL arms were callee-name-keyed and fell to false for the // N_UN(STAR) callee, so only the ptr word was pushed and the callee // read a shifted register file (len=b.ptr). package main; fn hello() str = { return "hello"; }; fn taker(s: str) i32 = { if (s.len != 5) { return 1; }; if (s[0] != 104u8) { return 2; }; return 0; }; fn main() i32 = { let f = (&hello): *fn() str; return taker((*f)()); };