error[E05001]: ability constraint not satisfied ┌─ tests/move_check/typing/pack_constraint_not_satisfied.move:7:9 │ 3 │ struct R { r: T } │ --- 'key' constraint declared here · 7 │ R {r:_ } = R { r: 0 }; │ ^^^^^^^^ - The type 'u64' does not have the ability 'key' │ │ │ 'key' constraint not satisifed error[E05001]: ability constraint not satisfied ┌─ tests/move_check/typing/pack_constraint_not_satisfied.move:7:20 │ 3 │ struct R { r: T } │ --- 'key' constraint declared here · 7 │ R {r:_ } = R { r: 0 }; │ ^^^^^^^^^^ │ │ │ │ │ The type 'u64' does not have the ability 'key' │ 'key' constraint not satisifed error[E05001]: ability constraint not satisfied ┌─ tests/move_check/typing/pack_constraint_not_satisfied.move:8:9 │ 2 │ struct Coin {} │ ---- To satisfy the constraint, the 'drop' ability would need to be added here 3 │ struct R { r: T } 4 │ struct S has drop { c: T } │ ---- 'drop' constraint declared here · 8 │ S { c: Coin {} }; │ ^^^^^^^^^^^^^^^^ │ │ │ │ │ The type '0x8675309::M::Coin' does not have the ability 'drop' │ 'drop' constraint not satisifed error[E05001]: ability constraint not satisfied ┌─ tests/move_check/typing/pack_constraint_not_satisfied.move:8:9 │ 8 │ S { c: Coin {} }; │ ^^^^^^^^^^^^^^^^ │ │ │ Cannot ignore values without the 'drop' ability. The value must be used │ The type '0x8675309::M::S<0x8675309::M::Coin>' can have the ability 'drop' but the type argument '0x8675309::M::Coin' does not have the required ability 'drop' │ The type '0x8675309::M::S<0x8675309::M::Coin>' does not have the ability 'drop' error[E05001]: ability constraint not satisfied ┌─ tests/move_check/typing/pack_constraint_not_satisfied.move:12:9 │ 3 │ struct R { r: T } │ - --- 'key' constraint declared here │ │ │ To satisfy the constraint, the 'key' ability would need to be added here · 12 │ R {r: R { r: _ } } = R { r: R { r: 0 }}; │ ^^^^^^^^^^^^^^^^^^ ---------- The type '0x8675309::M::R' does not have the ability 'key' │ │ │ 'key' constraint not satisifed error[E05001]: ability constraint not satisfied ┌─ tests/move_check/typing/pack_constraint_not_satisfied.move:12:15 │ 3 │ struct R { r: T } │ --- 'key' constraint declared here · 12 │ R {r: R { r: _ } } = R { r: R { r: 0 }}; │ ^^^^^^^^^^ - The type 'u64' does not have the ability 'key' │ │ │ 'key' constraint not satisifed error[E05001]: ability constraint not satisfied ┌─ tests/move_check/typing/pack_constraint_not_satisfied.move:12:30 │ 3 │ struct R { r: T } │ - --- 'key' constraint declared here │ │ │ To satisfy the constraint, the 'key' ability would need to be added here · 12 │ R {r: R { r: _ } } = R { r: R { r: 0 }}; │ ^^^^^^^^^^^^^^^^^^ │ │ │ │ │ The type '0x8675309::M::R' does not have the ability 'key' │ 'key' constraint not satisifed error[E05001]: ability constraint not satisfied ┌─ tests/move_check/typing/pack_constraint_not_satisfied.move:12:37 │ 3 │ struct R { r: T } │ --- 'key' constraint declared here · 12 │ R {r: R { r: _ } } = R { r: R { r: 0 }}; │ ^^^^^^^^^^ │ │ │ │ │ The type 'u64' does not have the ability 'key' │ 'key' constraint not satisifed error[E05001]: ability constraint not satisfied ┌─ tests/move_check/typing/pack_constraint_not_satisfied.move:13:9 │ 4 │ struct S has drop { c: T } │ ---- 'drop' constraint declared here · 13 │ S { c: S { c: Coin {} } }; │ ^^^^^^^^^^^^^^^^^^^^^^^^^ │ │ │ │ │ │ │ The type '0x8675309::M::S<0x8675309::M::Coin>' can have the ability 'drop' but the type argument '0x8675309::M::Coin' does not have the required ability 'drop' │ │ The type '0x8675309::M::S<0x8675309::M::Coin>' does not have the ability 'drop' │ 'drop' constraint not satisifed error[E05001]: ability constraint not satisfied ┌─ tests/move_check/typing/pack_constraint_not_satisfied.move:13:9 │ 13 │ S { c: S { c: Coin {} } }; │ ^^^^^^^^^^^^^^^^^^^^^^^^^ │ │ │ Cannot ignore values without the 'drop' ability. The value must be used │ The type '0x8675309::M::S<0x8675309::M::S<0x8675309::M::Coin>>' can have the ability 'drop' but the type argument '0x8675309::M::S<0x8675309::M::Coin>' does not have the required ability 'drop' │ The type '0x8675309::M::S<0x8675309::M::S<0x8675309::M::Coin>>' does not have the ability 'drop' error[E05001]: ability constraint not satisfied ┌─ tests/move_check/typing/pack_constraint_not_satisfied.move:13:16 │ 2 │ struct Coin {} │ ---- To satisfy the constraint, the 'drop' ability would need to be added here 3 │ struct R { r: T } 4 │ struct S has drop { c: T } │ ---- 'drop' constraint declared here · 13 │ S { c: S { c: Coin {} } }; │ ^^^^^^^^^^^^^^^^ │ │ │ │ │ The type '0x8675309::M::Coin' does not have the ability 'drop' │ 'drop' constraint not satisifed