solidity/test/libsolidity/syntaxTests/nameAndTypeResolution/invalidTypes/conditional_expression.sol
Mathias Baumann 259d803387 Conditional Expression: Delay invalid type fatal error
Check the whole conditional first and then output errors for
both, the true and false expressions.
2019-02-11 15:47:19 +01:00

17 lines
706 B
Solidity

contract C {
function o(byte) public pure {}
function f() public {
o(true ? 99**99 : 99);
o(true ? 99 : 99**99);
o(true ? 99**99 : 99**99);
}
}
// ----
// TypeError: (92-98): Invalid mobile type in true expression.
// TypeError: (85-103): Invalid type for argument in function call. Invalid implicit conversion from uint8 to bytes1 requested.
// TypeError: (128-134): Invalid mobile type in false expression.
// TypeError: (116-134): Invalid type for argument in function call. Invalid implicit conversion from uint8 to bytes1 requested.
// TypeError: (155-161): Invalid mobile type in true expression.
// TypeError: (164-170): Invalid mobile type in false expression.