Add control flow tests for "and" and "or" operators

This commit is contained in:
wechman
2022-09-28 13:06:25 +02:00
parent 43a612e420
commit 1084a34f28
8 changed files with 90 additions and 65 deletions
@@ -1,26 +0,0 @@
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".
@@ -1,30 +0,0 @@
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.