//# publish module 0x1.A { import 0x1.signer; struct T1 has key {v: u64} public test(account: &signer) acquires T1 { let x: &mut Self.T1; label b0: x = borrow_global_mut(signer.address_of(copy(account))); // error T1 still acquired Self.acquires_t1(move(account)); _ = move(x); return; } acquires_t1(account: &signer) acquires T1 { let v: u64; label b0: T1 { v } = move_from(signer.address_of(move(account))); return; } }