mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Update tests.
This commit is contained in:
parent
fe1d5da2a6
commit
46d6454b1f
@ -7878,6 +7878,7 @@ BOOST_AUTO_TEST_CASE(tuples)
|
|||||||
char const* sourceCode = R"(
|
char const* sourceCode = R"(
|
||||||
contract C {
|
contract C {
|
||||||
uint[] data;
|
uint[] data;
|
||||||
|
uint[] m_c;
|
||||||
function g() internal returns (uint a, uint b, uint[] storage c) {
|
function g() internal returns (uint a, uint b, uint[] storage c) {
|
||||||
return (1, 2, data);
|
return (1, 2, data);
|
||||||
}
|
}
|
||||||
@ -7890,7 +7891,7 @@ BOOST_AUTO_TEST_CASE(tuples)
|
|||||||
uint a; uint b;
|
uint a; uint b;
|
||||||
(a, b) = this.h();
|
(a, b) = this.h();
|
||||||
if (a != 5 || b != 6) return 1;
|
if (a != 5 || b != 6) return 1;
|
||||||
uint[] storage c;
|
uint[] storage c = m_c;
|
||||||
(a, b, c) = g();
|
(a, b, c) = g();
|
||||||
if (a != 1 || b != 2 || c[0] != 3) return 2;
|
if (a != 1 || b != 2 || c[0] != 3) return 2;
|
||||||
(a, b) = (b, a);
|
(a, b) = (b, a);
|
||||||
@ -9610,7 +9611,7 @@ BOOST_AUTO_TEST_CASE(calling_uninitialized_function_through_array)
|
|||||||
{ assembly { mstore(0, 7) return(0, 0x20) } }
|
{ assembly { mstore(0, 7) return(0, 0x20) } }
|
||||||
mutex = 1;
|
mutex = 1;
|
||||||
// Avoid re-executing this function if we jump somewhere.
|
// Avoid re-executing this function if we jump somewhere.
|
||||||
function() internal returns (uint)[200] x;
|
function() internal returns (uint)[200] memory x;
|
||||||
x[0]();
|
x[0]();
|
||||||
return 2;
|
return 2;
|
||||||
}
|
}
|
||||||
@ -10138,7 +10139,7 @@ BOOST_AUTO_TEST_CASE(copy_internal_function_array_to_storage)
|
|||||||
function() internal returns (uint)[20] x;
|
function() internal returns (uint)[20] x;
|
||||||
int mutex;
|
int mutex;
|
||||||
function one() public returns (uint) {
|
function one() public returns (uint) {
|
||||||
function() internal returns (uint)[20] xmem;
|
function() internal returns (uint)[20] memory xmem;
|
||||||
x = xmem;
|
x = xmem;
|
||||||
return 3;
|
return 3;
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,9 @@
|
|||||||
|
contract C {
|
||||||
|
function f() {
|
||||||
|
uint[] storage x;
|
||||||
|
uint[10] storage y;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// ----
|
||||||
|
// DeclarationError: (31-47): Uninitialized storage pointer.
|
||||||
|
// DeclarationError: (51-69): Uninitialized storage pointer.
|
@ -1,11 +1,9 @@
|
|||||||
contract C {
|
contract C {
|
||||||
function f() public {
|
uint[] m_x;
|
||||||
uint[] storage x;
|
function f() public view {
|
||||||
|
uint[] storage x = m_x;
|
||||||
uint[] memory y;
|
uint[] memory y;
|
||||||
uint[] memory z;
|
x;y;
|
||||||
x;y;z;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// ----
|
// ----
|
||||||
// Warning: (47-63): Uninitialized storage pointer.
|
|
||||||
// Warning: (17-135): Function state mutability can be restricted to pure
|
|
||||||
|
@ -5,4 +5,4 @@ contract C {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
// ----
|
// ----
|
||||||
// Warning: (52-85): Uninitialized storage pointer.
|
// DeclarationError: (52-85): Uninitialized storage pointer.
|
||||||
|
@ -1,9 +0,0 @@
|
|||||||
pragma experimental "v0.5.0";
|
|
||||||
contract C {
|
|
||||||
function f() pure public {
|
|
||||||
mapping(uint => uint)[] storage x;
|
|
||||||
x;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// ----
|
|
||||||
// DeclarationError: (82-115): Uninitialized storage pointer.
|
|
@ -8,4 +8,4 @@ contract C {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
// ----
|
// ----
|
||||||
// Warning: (84-95): Uninitialized storage pointer.
|
// DeclarationError: (84-95): Uninitialized storage pointer.
|
||||||
|
@ -1,11 +0,0 @@
|
|||||||
pragma experimental "v0.5.0";
|
|
||||||
contract C {
|
|
||||||
struct s {
|
|
||||||
uint a;
|
|
||||||
}
|
|
||||||
function f() public {
|
|
||||||
s storage x;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// ----
|
|
||||||
// DeclarationError: (114-125): Uninitialized storage pointer.
|
|
@ -5,4 +5,4 @@ contract c {
|
|||||||
// Warning: (39-46): Variable is declared as a storage pointer. Use an explicit "storage" keyword to silence this warning.
|
// Warning: (39-46): Variable is declared as a storage pointer. Use an explicit "storage" keyword to silence this warning.
|
||||||
// Warning: (52-67): Variable is declared as a storage pointer. Use an explicit "storage" keyword to silence this warning.
|
// Warning: (52-67): Variable is declared as a storage pointer. Use an explicit "storage" keyword to silence this warning.
|
||||||
// TypeError: (39-50): Type int_const 7 is not implicitly convertible to expected type contract c[10] storage pointer.
|
// TypeError: (39-50): Type int_const 7 is not implicitly convertible to expected type contract c[10] storage pointer.
|
||||||
// Warning: (52-67): Uninitialized storage pointer. Did you mean '<type> memory x'?
|
// DeclarationError: (52-67): Uninitialized storage pointer. Did you mean '<type> memory x'?
|
||||||
|
@ -1,11 +1,9 @@
|
|||||||
contract Foo {
|
contract Foo {
|
||||||
function f() public {
|
uint[] m_x;
|
||||||
uint[] storage x;
|
function f() public view {
|
||||||
|
uint[] storage x = m_x;
|
||||||
uint[] memory y;
|
uint[] memory y;
|
||||||
|
x; y;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// ----
|
// ----
|
||||||
// Warning: (49-65): Uninitialized storage pointer.
|
|
||||||
// Warning: (49-65): Unused local variable.
|
|
||||||
// Warning: (75-90): Unused local variable.
|
|
||||||
// Warning: (19-97): Function state mutability can be restricted to pure
|
|
||||||
|
Loading…
Reference in New Issue
Block a user