Add tests for ViewPureChecker with custom operators

This commit is contained in:
wechman 2022-07-13 08:13:06 +02:00
parent 545013898e
commit 6c4325ca03
2 changed files with 56 additions and 0 deletions

View File

@ -0,0 +1,26 @@
type Int is uint8;
using {
add as +,
sub as -,
mul as *
} for Int;
function f_view() view {}
function add(Int, Int) pure returns (Int) {
return Int.wrap(0);
}
function sub(Int, Int) returns (Int) {
return Int.wrap(0);
}
function mul(Int, Int) pure returns (Int) {
f_view();
return Int.wrap(0);
}
// ----
// Warning 2018: (179-243): Function state mutability can be restricted to pure
// TypeError 2527: (293-301): Function declared as pure, but this expression (potentially) reads from the environment or state and thus requires "view".

View File

@ -0,0 +1,30 @@
type Int is uint8;
using {
add as +,
sub as -,
mul as *
} for Int;
function f_view() view {}
function f() {}
function add(Int, Int) view returns (Int) {
f_view();
return Int.wrap(0);
}
function sub(Int, Int) returns (Int) {
f_view();
return Int.wrap(0);
}
function mul(Int, Int) view returns (Int) {
f();
return Int.wrap(0);
}
// ----
// Warning 2018: (210-288): Function state mutability can be restricted to view
// TypeError 8961: (338-341): Function cannot be declared as view because this expression (potentially) modifies the state.