Restrict experimental solidity to constantinople and above

This commit is contained in:
Nikola Matic
2023-05-17 17:03:43 +02:00
parent 33e7fc1cba
commit 7a34d34045
10 changed files with 23 additions and 4 deletions
@@ -17,5 +17,5 @@
"src": "0:29:1"
}
],
"src": "0:30:1"
"src": "0:70:1"
}
@@ -1,3 +1,4 @@
pragma experimental solidity;
// ====
// EVMVersion: >=constantinople
// ----
@@ -16,5 +16,5 @@
"src": "0:29:1"
}
],
"src": "0:30:1"
"src": "0:70:1"
}
@@ -1,3 +1,5 @@
pragma experimental solidity;
// ====
// EVMVersion: >=constantinople
// ----
// Warning 2264: (0-29): Experimental features are turned on. Do not use experimental features on live deployments.
@@ -18,6 +18,8 @@ import "A.sol";
contract D {
A a;
}
// ====
// EVMVersion: >=constantinople
// ----
// ParserError 2141: (B.sol:0-29): File declares "pragma experimental solidity". If you want to enable the experimental mode, all source units must include the pragma.
// ParserError 2141: (C.sol:0-29): File declares "pragma experimental solidity". If you want to enable the experimental mode, all source units must include the pragma.
@@ -1,5 +1,7 @@
contract A {}
pragma experimental solidity;
// ====
// EVMVersion: >=constantinople
// ----
// ParserError 8185: (45-45): Experimental pragma "solidity" can only be set at the beginning of the source unit.
@@ -9,5 +9,7 @@ struct A
{
uint256 x;
}
// ====
// EVMVersion: >=constantinople
// ----
// ParserError 8185: (83-89): Experimental pragma "solidity" can only be set at the beginning of the source unit.
@@ -0,0 +1,8 @@
pragma experimental solidity;
contract C {}
// ====
// EVMVersion: <constantinople
// ----
// ParserError 7637: (31-39): Experimental solidity requires Constantinople EVM version at the minimum.