error[E05001]: ability constraint not satisfied ┌─ tests/move_check/typing/ability_constraint_structs_invalid.move:19:9 │ 3 │ struct NoC has drop, store, key {} │ --- To satisfy the constraint, the 'copy' ability would need to be added here · 9 │ fun c() {} │ ---- 'copy' constraint declared here · 19 │ c(); │ ^^^^^^^^ │ │ │ │ │ The type '0x42::M::NoC' does not have the ability 'copy' │ 'copy' constraint not satisifed error[E05001]: ability constraint not satisfied ┌─ tests/move_check/typing/ability_constraint_structs_invalid.move:20:9 │ 5 │ struct Cup { f: T } │ --- To satisfy the constraint, the 'copy' ability would need to be added here · 9 │ fun c() {} │ ---- 'copy' constraint declared here · 20 │ c>(); │ ^^^^^^^^^^^^^ │ │ │ │ │ The type '0x42::M::Cup' does not have the ability 'copy' │ 'copy' constraint not satisifed error[E05001]: ability constraint not satisfied ┌─ tests/move_check/typing/ability_constraint_structs_invalid.move:21:9 │ 9 │ fun c() {} │ ---- 'copy' constraint declared here · 21 │ c>(); │ ^^^^^^^^^^^^^ │ │ │ │ │ │ │ The type '0x42::M::Box<0x42::M::NoC>' can have the ability 'copy' but the type argument '0x42::M::NoC' does not have the required ability 'copy' │ │ The type '0x42::M::Box<0x42::M::NoC>' does not have the ability 'copy' │ 'copy' constraint not satisifed error[E05001]: ability constraint not satisfied ┌─ tests/move_check/typing/ability_constraint_structs_invalid.move:22:9 │ 4 │ struct NoK has copy, drop, store {} │ --- To satisfy the constraint, the 'key' ability would need to be added here · 10 │ fun k() {} │ --- 'key' constraint declared here · 22 │ k(); │ ^^^^^^^^ │ │ │ │ │ The type '0x42::M::NoK' does not have the ability 'key' │ 'key' constraint not satisifed error[E05001]: ability constraint not satisfied ┌─ tests/move_check/typing/ability_constraint_structs_invalid.move:23:9 │ 5 │ struct Cup { f: T } │ --- To satisfy the constraint, the 'key' ability would need to be added here · 10 │ fun k() {} │ --- 'key' constraint declared here · 23 │ k>(); │ ^^^^^^^^^^^^^ │ │ │ │ │ The type '0x42::M::Cup' does not have the ability 'key' │ 'key' constraint not satisifed error[E05001]: ability constraint not satisfied ┌─ tests/move_check/typing/ability_constraint_structs_invalid.move:24:9 │ 10 │ fun k() {} │ --- 'key' constraint declared here · 24 │ k>>(); │ ^^^^^^^^^^^^^^^^^^ │ │ │ │ │ │ │ The type '0x42::M::Box<0x42::M::Cup>' can have the ability 'key' but the type argument '0x42::M::Cup' does not have the required ability 'store' │ │ The type '0x42::M::Box<0x42::M::Cup>' does not have the ability 'key' │ 'key' constraint not satisifed error[E05001]: ability constraint not satisfied ┌─ tests/move_check/typing/ability_constraint_structs_invalid.move:25:9 │ 3 │ struct NoC has drop, store, key {} │ --- To satisfy the constraint, the 'copy' ability would need to be added here · 11 │ fun cds() {} │ ---- 'copy' constraint declared here · 25 │ cds(); │ ^^^^^^^^^^ │ │ │ │ │ The type '0x42::M::NoC' does not have the ability 'copy' │ 'copy' constraint not satisifed error[E05001]: ability constraint not satisfied ┌─ tests/move_check/typing/ability_constraint_structs_invalid.move:26:9 │ 5 │ struct Cup { f: T } │ --- To satisfy the constraint, the 'copy' ability would need to be added here · 11 │ fun cds() {} │ ---- 'copy' constraint declared here · 26 │ cds>(); │ ^^^^^^^^^^^^^^^ │ │ │ │ │ The type '0x42::M::Cup' does not have the ability 'copy' │ 'copy' constraint not satisifed error[E05001]: ability constraint not satisfied ┌─ tests/move_check/typing/ability_constraint_structs_invalid.move:26:9 │ 5 │ struct Cup { f: T } │ --- To satisfy the constraint, the 'drop' ability would need to be added here · 11 │ fun cds() {} │ ---- 'drop' constraint declared here · 26 │ cds>(); │ ^^^^^^^^^^^^^^^ │ │ │ │ │ The type '0x42::M::Cup' does not have the ability 'drop' │ 'drop' constraint not satisifed error[E05001]: ability constraint not satisfied ┌─ tests/move_check/typing/ability_constraint_structs_invalid.move:26:9 │ 5 │ struct Cup { f: T } │ --- To satisfy the constraint, the 'store' ability would need to be added here · 11 │ fun cds() {} │ ----- 'store' constraint declared here · 26 │ cds>(); │ ^^^^^^^^^^^^^^^ │ │ │ │ │ The type '0x42::M::Cup' does not have the ability 'store' │ 'store' constraint not satisifed error[E05001]: ability constraint not satisfied ┌─ tests/move_check/typing/ability_constraint_structs_invalid.move:27:9 │ 5 │ struct Cup { f: T } │ --- To satisfy the constraint, the 'copy' ability would need to be added here · 11 │ fun cds() {} │ ---- 'copy' constraint declared here · 27 │ cds>(); │ ^^^^^^^^^^^^^^^ │ │ │ │ │ The type '0x42::M::Cup<0x42::M::NoC>' does not have the ability 'copy' │ 'copy' constraint not satisifed error[E05001]: ability constraint not satisfied ┌─ tests/move_check/typing/ability_constraint_structs_invalid.move:27:9 │ 5 │ struct Cup { f: T } │ --- To satisfy the constraint, the 'drop' ability would need to be added here · 11 │ fun cds() {} │ ---- 'drop' constraint declared here · 27 │ cds>(); │ ^^^^^^^^^^^^^^^ │ │ │ │ │ The type '0x42::M::Cup<0x42::M::NoC>' does not have the ability 'drop' │ 'drop' constraint not satisifed error[E05001]: ability constraint not satisfied ┌─ tests/move_check/typing/ability_constraint_structs_invalid.move:27:9 │ 5 │ struct Cup { f: T } │ --- To satisfy the constraint, the 'store' ability would need to be added here · 11 │ fun cds() {} │ ----- 'store' constraint declared here · 27 │ cds>(); │ ^^^^^^^^^^^^^^^ │ │ │ │ │ The type '0x42::M::Cup<0x42::M::NoC>' does not have the ability 'store' │ 'store' constraint not satisifed error[E05001]: ability constraint not satisfied ┌─ tests/move_check/typing/ability_constraint_structs_invalid.move:28:9 │ 11 │ fun cds() {} │ ---- 'copy' constraint declared here · 28 │ cds>(); │ ^^^^^^^^^^^^^^^^^^^^^ │ │ │ │ │ │ │ The type '0x42::M::Pair' can have the ability 'copy' but the type argument '0x42::M::NoC' does not have the required ability 'copy' │ │ The type '0x42::M::Pair' does not have the ability 'copy' │ 'copy' constraint not satisifed error[E05001]: ability constraint not satisfied ┌─ tests/move_check/typing/ability_constraint_structs_invalid.move:29:13 │ 3 │ struct NoC has drop, store, key {} │ --- To satisfy the constraint, the 'copy' ability would need to be added here · 13 │ struct Sc {} │ ---- 'copy' constraint declared here · 29 │ let Sc {} = Sc {}; │ ^^^^^ --- The type '0x42::M::NoC' does not have the ability 'copy' │ │ │ 'copy' constraint not satisifed error[E05001]: ability constraint not satisfied ┌─ tests/move_check/typing/ability_constraint_structs_invalid.move:29:21 │ 3 │ struct NoC has drop, store, key {} │ --- To satisfy the constraint, the 'copy' ability would need to be added here · 13 │ struct Sc {} │ ---- 'copy' constraint declared here · 29 │ let Sc {} = Sc {}; │ ^^^^^^^^^^ │ │ │ │ │ The type '0x42::M::NoC' does not have the ability 'copy' │ 'copy' constraint not satisifed error[E05001]: ability constraint not satisfied ┌─ tests/move_check/typing/ability_constraint_structs_invalid.move:30:13 │ 5 │ struct Cup { f: T } │ --- To satisfy the constraint, the 'copy' ability would need to be added here · 13 │ struct Sc {} │ ---- 'copy' constraint declared here · 30 │ let Sc {} = Sc> {}; │ ^^^^^ -------- The type '0x42::M::Cup' does not have the ability 'copy' │ │ │ 'copy' constraint not satisifed error[E05001]: ability constraint not satisfied ┌─ tests/move_check/typing/ability_constraint_structs_invalid.move:30:21 │ 5 │ struct Cup { f: T } │ --- To satisfy the constraint, the 'copy' ability would need to be added here · 13 │ struct Sc {} │ ---- 'copy' constraint declared here · 30 │ let Sc {} = Sc> {}; │ ^^^^^^^^^^^^^^^ │ │ │ │ │ The type '0x42::M::Cup' does not have the ability 'copy' │ 'copy' constraint not satisifed error[E05001]: ability constraint not satisfied ┌─ tests/move_check/typing/ability_constraint_structs_invalid.move:31:13 │ 13 │ struct Sc {} │ ---- 'copy' constraint declared here · 31 │ let Sc {} = Sc> {}; │ ^^^^^ -------- │ │ │ │ │ │ │ The type '0x42::M::Box<0x42::M::NoC>' can have the ability 'copy' but the type argument '0x42::M::NoC' does not have the required ability 'copy' │ │ The type '0x42::M::Box<0x42::M::NoC>' does not have the ability 'copy' │ 'copy' constraint not satisifed error[E05001]: ability constraint not satisfied ┌─ tests/move_check/typing/ability_constraint_structs_invalid.move:31:21 │ 13 │ struct Sc {} │ ---- 'copy' constraint declared here · 31 │ let Sc {} = Sc> {}; │ ^^^^^^^^^^^^^^^ │ │ │ │ │ │ │ The type '0x42::M::Box<0x42::M::NoC>' can have the ability 'copy' but the type argument '0x42::M::NoC' does not have the required ability 'copy' │ │ The type '0x42::M::Box<0x42::M::NoC>' does not have the ability 'copy' │ 'copy' constraint not satisifed error[E05001]: ability constraint not satisfied ┌─ tests/move_check/typing/ability_constraint_structs_invalid.move:32:13 │ 4 │ struct NoK has copy, drop, store {} │ --- To satisfy the constraint, the 'key' ability would need to be added here · 14 │ struct Sk {} │ --- 'key' constraint declared here · 32 │ let Sk {} = Sk {}; │ ^^^^^ --- The type '0x42::M::NoK' does not have the ability 'key' │ │ │ 'key' constraint not satisifed error[E05001]: ability constraint not satisfied ┌─ tests/move_check/typing/ability_constraint_structs_invalid.move:32:21 │ 4 │ struct NoK has copy, drop, store {} │ --- To satisfy the constraint, the 'key' ability would need to be added here · 14 │ struct Sk {} │ --- 'key' constraint declared here · 32 │ let Sk {} = Sk {}; │ ^^^^^^^^^^ │ │ │ │ │ The type '0x42::M::NoK' does not have the ability 'key' │ 'key' constraint not satisifed error[E05001]: ability constraint not satisfied ┌─ tests/move_check/typing/ability_constraint_structs_invalid.move:33:13 │ 5 │ struct Cup { f: T } │ --- To satisfy the constraint, the 'key' ability would need to be added here · 14 │ struct Sk {} │ --- 'key' constraint declared here · 33 │ let Sk {} = Sk> {}; │ ^^^^^ -------- The type '0x42::M::Cup' does not have the ability 'key' │ │ │ 'key' constraint not satisifed error[E05001]: ability constraint not satisfied ┌─ tests/move_check/typing/ability_constraint_structs_invalid.move:33:21 │ 5 │ struct Cup { f: T } │ --- To satisfy the constraint, the 'key' ability would need to be added here · 14 │ struct Sk {} │ --- 'key' constraint declared here · 33 │ let Sk {} = Sk> {}; │ ^^^^^^^^^^^^^^^ │ │ │ │ │ The type '0x42::M::Cup' does not have the ability 'key' │ 'key' constraint not satisifed error[E05001]: ability constraint not satisfied ┌─ tests/move_check/typing/ability_constraint_structs_invalid.move:34:13 │ 14 │ struct Sk {} │ --- 'key' constraint declared here · 34 │ let Sk {} = Sk>> {}; │ ^^^^^ ------------- │ │ │ │ │ │ │ The type '0x42::M::Box<0x42::M::Cup>' can have the ability 'key' but the type argument '0x42::M::Cup' does not have the required ability 'store' │ │ The type '0x42::M::Box<0x42::M::Cup>' does not have the ability 'key' │ 'key' constraint not satisifed error[E05001]: ability constraint not satisfied ┌─ tests/move_check/typing/ability_constraint_structs_invalid.move:34:21 │ 14 │ struct Sk {} │ --- 'key' constraint declared here · 34 │ let Sk {} = Sk>> {}; │ ^^^^^^^^^^^^^^^^^^^^ │ │ │ │ │ │ │ The type '0x42::M::Box<0x42::M::Cup>' can have the ability 'key' but the type argument '0x42::M::Cup' does not have the required ability 'store' │ │ The type '0x42::M::Box<0x42::M::Cup>' does not have the ability 'key' │ 'key' constraint not satisifed error[E05001]: ability constraint not satisfied ┌─ tests/move_check/typing/ability_constraint_structs_invalid.move:35:13 │ 3 │ struct NoC has drop, store, key {} │ --- To satisfy the constraint, the 'copy' ability would need to be added here · 15 │ struct Scds {} │ ---- 'copy' constraint declared here · 35 │ let Scds {} = Scds {}; │ ^^^^^^^ --- The type '0x42::M::NoC' does not have the ability 'copy' │ │ │ 'copy' constraint not satisifed error[E05001]: ability constraint not satisfied ┌─ tests/move_check/typing/ability_constraint_structs_invalid.move:35:23 │ 3 │ struct NoC has drop, store, key {} │ --- To satisfy the constraint, the 'copy' ability would need to be added here · 15 │ struct Scds {} │ ---- 'copy' constraint declared here · 35 │ let Scds {} = Scds {}; │ ^^^^^^^^^^^^ │ │ │ │ │ The type '0x42::M::NoC' does not have the ability 'copy' │ 'copy' constraint not satisifed error[E05001]: ability constraint not satisfied ┌─ tests/move_check/typing/ability_constraint_structs_invalid.move:36:13 │ 5 │ struct Cup { f: T } │ --- To satisfy the constraint, the 'copy' ability would need to be added here · 15 │ struct Scds {} │ ---- 'copy' constraint declared here · 36 │ let Scds {} = Scds> {}; │ ^^^^^^^ -------- The type '0x42::M::Cup' does not have the ability 'copy' │ │ │ 'copy' constraint not satisifed error[E05001]: ability constraint not satisfied ┌─ tests/move_check/typing/ability_constraint_structs_invalid.move:36:13 │ 5 │ struct Cup { f: T } │ --- To satisfy the constraint, the 'drop' ability would need to be added here · 15 │ struct Scds {} │ ---- 'drop' constraint declared here · 36 │ let Scds {} = Scds> {}; │ ^^^^^^^ -------- The type '0x42::M::Cup' does not have the ability 'drop' │ │ │ 'drop' constraint not satisifed error[E05001]: ability constraint not satisfied ┌─ tests/move_check/typing/ability_constraint_structs_invalid.move:36:13 │ 5 │ struct Cup { f: T } │ --- To satisfy the constraint, the 'store' ability would need to be added here · 15 │ struct Scds {} │ ----- 'store' constraint declared here · 36 │ let Scds {} = Scds> {}; │ ^^^^^^^ -------- The type '0x42::M::Cup' does not have the ability 'store' │ │ │ 'store' constraint not satisifed error[E05001]: ability constraint not satisfied ┌─ tests/move_check/typing/ability_constraint_structs_invalid.move:36:23 │ 5 │ struct Cup { f: T } │ --- To satisfy the constraint, the 'copy' ability would need to be added here · 15 │ struct Scds {} │ ---- 'copy' constraint declared here · 36 │ let Scds {} = Scds> {}; │ ^^^^^^^^^^^^^^^^^ │ │ │ │ │ The type '0x42::M::Cup' does not have the ability 'copy' │ 'copy' constraint not satisifed error[E05001]: ability constraint not satisfied ┌─ tests/move_check/typing/ability_constraint_structs_invalid.move:36:23 │ 5 │ struct Cup { f: T } │ --- To satisfy the constraint, the 'drop' ability would need to be added here · 15 │ struct Scds {} │ ---- 'drop' constraint declared here · 36 │ let Scds {} = Scds> {}; │ ^^^^^^^^^^^^^^^^^ │ │ │ │ │ The type '0x42::M::Cup' does not have the ability 'drop' │ 'drop' constraint not satisifed error[E05001]: ability constraint not satisfied ┌─ tests/move_check/typing/ability_constraint_structs_invalid.move:36:23 │ 5 │ struct Cup { f: T } │ --- To satisfy the constraint, the 'store' ability would need to be added here · 15 │ struct Scds {} │ ----- 'store' constraint declared here · 36 │ let Scds {} = Scds> {}; │ ^^^^^^^^^^^^^^^^^ │ │ │ │ │ The type '0x42::M::Cup' does not have the ability 'store' │ 'store' constraint not satisifed error[E05001]: ability constraint not satisfied ┌─ tests/move_check/typing/ability_constraint_structs_invalid.move:37:13 │ 5 │ struct Cup { f: T } │ --- To satisfy the constraint, the 'copy' ability would need to be added here · 15 │ struct Scds {} │ ---- 'copy' constraint declared here · 37 │ let Scds {} = Scds> {}; │ ^^^^^^^ -------- The type '0x42::M::Cup<0x42::M::NoC>' does not have the ability 'copy' │ │ │ 'copy' constraint not satisifed error[E05001]: ability constraint not satisfied ┌─ tests/move_check/typing/ability_constraint_structs_invalid.move:37:13 │ 5 │ struct Cup { f: T } │ --- To satisfy the constraint, the 'drop' ability would need to be added here · 15 │ struct Scds {} │ ---- 'drop' constraint declared here · 37 │ let Scds {} = Scds> {}; │ ^^^^^^^ -------- The type '0x42::M::Cup<0x42::M::NoC>' does not have the ability 'drop' │ │ │ 'drop' constraint not satisifed error[E05001]: ability constraint not satisfied ┌─ tests/move_check/typing/ability_constraint_structs_invalid.move:37:13 │ 5 │ struct Cup { f: T } │ --- To satisfy the constraint, the 'store' ability would need to be added here · 15 │ struct Scds {} │ ----- 'store' constraint declared here · 37 │ let Scds {} = Scds> {}; │ ^^^^^^^ -------- The type '0x42::M::Cup<0x42::M::NoC>' does not have the ability 'store' │ │ │ 'store' constraint not satisifed error[E05001]: ability constraint not satisfied ┌─ tests/move_check/typing/ability_constraint_structs_invalid.move:37:23 │ 5 │ struct Cup { f: T } │ --- To satisfy the constraint, the 'copy' ability would need to be added here · 15 │ struct Scds {} │ ---- 'copy' constraint declared here · 37 │ let Scds {} = Scds> {}; │ ^^^^^^^^^^^^^^^^^ │ │ │ │ │ The type '0x42::M::Cup<0x42::M::NoC>' does not have the ability 'copy' │ 'copy' constraint not satisifed error[E05001]: ability constraint not satisfied ┌─ tests/move_check/typing/ability_constraint_structs_invalid.move:37:23 │ 5 │ struct Cup { f: T } │ --- To satisfy the constraint, the 'drop' ability would need to be added here · 15 │ struct Scds {} │ ---- 'drop' constraint declared here · 37 │ let Scds {} = Scds> {}; │ ^^^^^^^^^^^^^^^^^ │ │ │ │ │ The type '0x42::M::Cup<0x42::M::NoC>' does not have the ability 'drop' │ 'drop' constraint not satisifed error[E05001]: ability constraint not satisfied ┌─ tests/move_check/typing/ability_constraint_structs_invalid.move:37:23 │ 5 │ struct Cup { f: T } │ --- To satisfy the constraint, the 'store' ability would need to be added here · 15 │ struct Scds {} │ ----- 'store' constraint declared here · 37 │ let Scds {} = Scds> {}; │ ^^^^^^^^^^^^^^^^^ │ │ │ │ │ The type '0x42::M::Cup<0x42::M::NoC>' does not have the ability 'store' │ 'store' constraint not satisifed error[E05001]: ability constraint not satisfied ┌─ tests/move_check/typing/ability_constraint_structs_invalid.move:38:13 │ 15 │ struct Scds {} │ ---- 'copy' constraint declared here · 38 │ let Scds {} = Scds> {}; │ ^^^^^^^ -------------- │ │ │ │ │ │ │ The type '0x42::M::Pair' can have the ability 'copy' but the type argument '0x42::M::NoC' does not have the required ability 'copy' │ │ The type '0x42::M::Pair' does not have the ability 'copy' │ 'copy' constraint not satisifed error[E05001]: ability constraint not satisfied ┌─ tests/move_check/typing/ability_constraint_structs_invalid.move:38:23 │ 15 │ struct Scds {} │ ---- 'copy' constraint declared here · 38 │ let Scds {} = Scds> {}; │ ^^^^^^^^^^^^^^^^^^^^^^^ │ │ │ │ │ │ │ The type '0x42::M::Pair' can have the ability 'copy' but the type argument '0x42::M::NoC' does not have the required ability 'copy' │ │ The type '0x42::M::Pair' does not have the ability 'copy' │ 'copy' constraint not satisifed