Stricter bounds for memory arrays.

This commit is contained in:
Daniel Kirchner
2020-04-16 17:51:18 +02:00
parent f6d1cee06b
commit 150497c12a
3 changed files with 31 additions and 2 deletions
@@ -0,0 +1,14 @@
contract C {
function f() public pure
{
bytes32[1263941234127518272][500] memory x;
uint[2**30][] memory y;
uint[2**30][2**30][] memory z;
uint[2**16][2**16][] memory w;
}
}
// ----
// TypeError: (48-90): Type too large for memory.
// TypeError: (96-118): Type too large for memory.
// TypeError: (124-153): Type too large for memory.
// TypeError: (159-188): Type too large for memory.
@@ -8,4 +8,4 @@ contract C {
// TypeError: (26-66): Type too large for memory.
// TypeError: (96-116): Type too large for memory.
// TypeError: (146-173): Type too large for memory.
// TypeError: (203-230): Type too large for calldata.
// TypeError: (203-230): Type too large for memory.