//# publish module 0x1.A { import 0x1.signer; struct T has key {v: u64} public A0(account: &signer, addr: address) acquires T { let x: &mut Self.T; let y: &mut Self.T; let sender: address; label b0: sender = signer.address_of(move(account)); x = borrow_global_mut(move(sender)); y = borrow_global_mut(move(addr)); // cannot acquire T, still borrowed _ = move(x); _ = move(y); return; } }