Add test cases for user type operators with global using for directive

This commit is contained in:
wechman
2022-09-28 13:07:59 +02:00
parent bd758a5e35
commit 1218b207ef
3 changed files with 69 additions and 0 deletions
@@ -0,0 +1,24 @@
==== Source: s1.sol ====
type Int is int;
using {add as +} for Int global;
function add(Int, Int) pure returns (Int) {
return Int.wrap(3);
}
==== Source: s2.sol ====
import "s1.sol";
using {another_add as +} for Int;
function another_add(Int, Int) pure returns (Int) {
return Int.wrap(3);
}
contract C {
function f() pure public {
Int.wrap(0) + Int.wrap(0);
}
}
// ----
// TypeError 2271: (s2.sol:184-209): Operator + not compatible with types Int and Int. Multiple user-defined functions provided for this operator.
@@ -0,0 +1,15 @@
==== Source: s1.sol ====
type Int is int;
using {add as +} for Int global;
function add(Int, Int) pure returns (Int) {
return Int.wrap(3);
}
==== Source: s2.sol ====
import "s1.sol";
contract C {
function f() pure public {
Int.wrap(0) + Int.wrap(0);
}
}