aboutsummaryrefslogtreecommitdiffstats
path: root/test/libsolidity/syntaxTests/viewPureChecker/modifiers_fail.sol
diff options
context:
space:
mode:
authorDaniel Kirchner <daniel@ekpyron.org>2018-07-04 17:25:45 +0800
committerDaniel Kirchner <daniel@ekpyron.org>2018-07-04 17:25:45 +0800
commitf5be38bff10b02ab5b7bc1125daa6fbe17f87b65 (patch)
tree8ba9eef13c0d4331155021b1d3f477520f5af6c2 /test/libsolidity/syntaxTests/viewPureChecker/modifiers_fail.sol
parentd9a8f2aaceb077d5a3ef0bb2971d747b894aee7f (diff)
downloaddexon-solidity-f5be38bff10b02ab5b7bc1125daa6fbe17f87b65.tar.gz
dexon-solidity-f5be38bff10b02ab5b7bc1125daa6fbe17f87b65.tar.zst
dexon-solidity-f5be38bff10b02ab5b7bc1125daa6fbe17f87b65.zip
Extend view pure test suite.
Diffstat (limited to 'test/libsolidity/syntaxTests/viewPureChecker/modifiers_fail.sol')
-rw-r--r--test/libsolidity/syntaxTests/viewPureChecker/modifiers_fail.sol12
1 files changed, 12 insertions, 0 deletions
diff --git a/test/libsolidity/syntaxTests/viewPureChecker/modifiers_fail.sol b/test/libsolidity/syntaxTests/viewPureChecker/modifiers_fail.sol
new file mode 100644
index 00000000..513850f7
--- /dev/null
+++ b/test/libsolidity/syntaxTests/viewPureChecker/modifiers_fail.sol
@@ -0,0 +1,12 @@
+contract D {
+ uint x;
+ modifier viewm(uint) { uint a = x; _; a; }
+ modifier nonpayablem(uint) { x = 2; _; }
+}
+contract C is D {
+ function f() viewm(0) pure public {}
+ function g() nonpayablem(0) view public {}
+}
+// ----
+// TypeError: (154-162): Function declared as pure, but this expression (potentially) reads from the environment or state and thus requires "view".
+// TypeError: (195-209): Function declared as view, but this expression (potentially) modifies the state and thus requires non-payable (the default) or payable.