mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Generates a syntax error when declaring a variable declaration's LHS has no named components
This commit is contained in:
committed by
chriseth
parent
fa8102880f
commit
cc585138bc
+2
@@ -13,6 +13,8 @@ contract C {
|
||||
}
|
||||
}
|
||||
// ----
|
||||
// SyntaxError: (307-325): The use of the "var" keyword is disallowed. The declaration part of the statement can be removed, since it is empty.
|
||||
// SyntaxError: (335-350): The use of the "var" keyword is disallowed. The declaration part of the statement can be removed, since it is empty.
|
||||
// Warning: (179-198): Different number of components on the left hand side (2) than on the right hand side (3).
|
||||
// Warning: (208-233): Different number of components on the left hand side (3) than on the right hand side (2).
|
||||
// Warning: (243-262): Different number of components on the left hand side (2) than on the right hand side (3).
|
||||
|
||||
+1
@@ -3,4 +3,5 @@ contract C {
|
||||
function f() public { var (,) = one(); }
|
||||
}
|
||||
// ----
|
||||
// SyntaxError: (81-96): The use of the "var" keyword is disallowed. The declaration part of the statement can be removed, since it is empty.
|
||||
// TypeError: (81-96): Wildcard both at beginning and end of variable declaration list is only allowed if the number of components is equal.
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
pragma solidity ^0.4.20;
|
||||
|
||||
contract C {
|
||||
function f() internal pure {}
|
||||
function g() internal pure returns (uint) { return 1; }
|
||||
function h() internal pure returns (uint, uint) { return (1, 2); }
|
||||
|
||||
function test() internal pure {
|
||||
var () = f();
|
||||
var () = g();
|
||||
var (,) = h();
|
||||
}
|
||||
}
|
||||
|
||||
// ----
|
||||
// SyntaxError: (249-261): The use of the "var" keyword is disallowed. The declaration part of the statement can be removed, since it is empty.
|
||||
// SyntaxError: (271-283): The use of the "var" keyword is disallowed. The declaration part of the statement can be removed, since it is empty.
|
||||
// SyntaxError: (293-306): The use of the "var" keyword is disallowed. The declaration part of the statement can be removed, since it is empty.
|
||||
// TypeError: (271-283): Too many components (1) in value for variable assignment (0) needed
|
||||
Reference in New Issue
Block a user