From d4e5de732d8f56caca6da3f35af29acd8defeec9 Mon Sep 17 00:00:00 2001 From: Gaith Hallak Date: Wed, 3 Aug 2022 20:11:23 +0400 Subject: [PATCH] Update tests again --- test/aeso_compiler_tests.erl | 15 ++++++++------- ...lymorphism_variance_switching_chain_create.aes | 9 +++------ ...phism_variance_switching_chain_create_fail.aes | 12 ++++++++++++ 3 files changed, 23 insertions(+), 13 deletions(-) create mode 100644 test/contracts/polymorphism_variance_switching_chain_create_fail.aes diff --git a/test/aeso_compiler_tests.erl b/test/aeso_compiler_tests.erl index ad45982..57b25b4 100644 --- a/test/aeso_compiler_tests.erl +++ b/test/aeso_compiler_tests.erl @@ -202,6 +202,7 @@ compilable_contracts() -> "polymorphism_contract_interface_extensions", "polymorphism_contract_interface_same_decl_multi_interface", "polymorphism_contract_interface_same_name_same_type", + "polymorphism_variance_switching_chain_create", "missing_init_fun_state_unit", "complex_compare_leq", "complex_compare", @@ -1025,17 +1026,17 @@ failing_contracts() -> "Cannot unify `Animal` and `Cat` in a covariant context\n" "when checking the type of the pattern `q15 : oracle_query(Cat, Cat)` against the expected type `oracle_query(Cat, Animal)`">> ]) - , ?TYPE_ERROR(polymorphism_variance_switching_chain_create, - [<>, - <>, - <>, + <>, - <> ]) diff --git a/test/contracts/polymorphism_variance_switching_chain_create.aes b/test/contracts/polymorphism_variance_switching_chain_create.aes index 69c11c2..14c5f0b 100644 --- a/test/contracts/polymorphism_variance_switching_chain_create.aes +++ b/test/contracts/polymorphism_variance_switching_chain_create.aes @@ -23,10 +23,7 @@ main contract Main = Make.new(c) stateful entrypoint test3() = - let c1 : I = Chain.create() // fails - let c2 : C1 = Chain.create() : I // fails - let c3 = Chain.create() : I // fails - let c4 = Chain.create() : C1 // succeeds - let c5 : I = Chain.create() : C1 // succeeds - let c6 : C1 = Chain.create() // succeeds + let c1 = Chain.create() : C1 // succeeds + let c2 : I = Chain.create() : C1 // succeeds + let c3 : C1 = Chain.create() // succeeds () diff --git a/test/contracts/polymorphism_variance_switching_chain_create_fail.aes b/test/contracts/polymorphism_variance_switching_chain_create_fail.aes new file mode 100644 index 0000000..836c9e1 --- /dev/null +++ b/test/contracts/polymorphism_variance_switching_chain_create_fail.aes @@ -0,0 +1,12 @@ +contract interface I = + entrypoint f : () => int + +contract C : I = + entrypoint f() = 123 + +main contract Main = + stateful entrypoint test() = + let c1 : I = Chain.create() // fails + let c2 : C = Chain.create() : I // fails + let c3 = Chain.create() : I // fails + () \ No newline at end of file