address 0x2 { module X { struct S { f: u64 } public fun s(): S { S { f: 0 } } } module M { use 0x2::X; fun t0() { (X::s().f: u64); let s = &X::s(); (s.f: u64); abort 0 } } }