mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Consider mappings return values in control flow analysis.
This commit is contained in:
@@ -0,0 +1,5 @@
|
||||
contract C {
|
||||
function f() internal pure returns (mapping(uint=>uint) storage r) { }
|
||||
}
|
||||
// ----
|
||||
// TypeError: (53-82): This variable is of storage pointer type and might be returned without assignment and could be used uninitialized. Assign the variable (potentially from itself) to fix this error.
|
||||
@@ -0,0 +1,5 @@
|
||||
contract C {
|
||||
mapping(uint=>uint) m;
|
||||
function f() internal view returns (mapping(uint=>uint) storage r) { r = m; }
|
||||
}
|
||||
// ----
|
||||
@@ -0,0 +1,5 @@
|
||||
contract C {
|
||||
function f() internal pure returns (mapping(uint=>uint) storage) {}
|
||||
}
|
||||
// ----
|
||||
// TypeError: (53-72): This variable is of storage pointer type and might be returned without assignment and could be used uninitialized. Assign the variable (potentially from itself) to fix this error.
|
||||
@@ -0,0 +1,5 @@
|
||||
contract C {
|
||||
mapping(uint=>uint) m;
|
||||
function f() internal view returns (mapping(uint=>uint) storage) { return m; }
|
||||
}
|
||||
// ----
|
||||
Reference in New Issue
Block a user