mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Fix ConstantEvaluator to correctly handle single element tuples.
This commit is contained in:
@@ -0,0 +1,5 @@
|
||||
contract C {
|
||||
uint[[2]] a15;
|
||||
}
|
||||
// ----
|
||||
// TypeError: (22-25): Invalid array length, expected integer literal or constant expression.
|
||||
@@ -0,0 +1,25 @@
|
||||
contract C {
|
||||
uint constant L1 = (2);
|
||||
uint constant L2 = ((2));
|
||||
uint constant L3 = ((((2))));
|
||||
uint constant L4 = (2 + 1);
|
||||
uint constant L5 = ((2 + 1));
|
||||
uint constant L6 = (((2) + ((1))));
|
||||
uint constant L7 = (2 + 1) / 1;
|
||||
uint constant L8 = (2 + ((1))) / (1);
|
||||
uint[L1] a1;
|
||||
uint[L2] a2;
|
||||
uint[L3] a3;
|
||||
uint[L4] a4;
|
||||
uint[L5] a5;
|
||||
uint[L6] a6;
|
||||
uint[L7] a7;
|
||||
uint[L8] a8;
|
||||
uint[(2)] a9;
|
||||
uint[(2 + 1)] a10;
|
||||
uint[(2 + 1) + 1] a11;
|
||||
uint[((2) + 1) + 1] a12;
|
||||
uint[(2 + 1) + ((1))] a13;
|
||||
uint[(((2) + 1)) + (((1)))] a14;
|
||||
uint[((((2) + 1)) + (((1))))%1] a15;
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
contract C {
|
||||
uint[(1,2)] a15;
|
||||
}
|
||||
// ----
|
||||
// TypeError: (22-27): Invalid array length, expected integer literal or constant expression.
|
||||
Reference in New Issue
Block a user