//# publish // entry points can now return values module 0x42.M { struct S { f: u64 } public t( x: u64, a: signer, s: Self.S, r1: &Self.S, r2: &mut Self.S ): u64 * signer * Self.S * &Self.S * &u64 * &mut u64 { label l0: return move(x), move(a), move(s), copy(r1), &move(r1).S::f, &mut move(r2).S::f; } } //# run 0x42::M::t --args 0 @0x1 2 3 4