//# publish module 0x42.M { import 0x1.signer; struct Foo has key { x: u128, } public foo(account: &signer) { label b0: move_to(move(account),Foo {x: 100u128}); return; } public bar(account: &signer): u128 acquires Foo { let x: u128; label b0: Foo { x } = move_from(signer.address_of(move(account))); return move(x); } } //# run --signers 0x1 import 0x42.M; main(account: signer) { label b0: M.foo(&account); return; } //# run --signers 0x1 import 0x42.M; main(account: signer) { label b0: assert(M.bar(&account) == 100u128, 42); return; }