Remove unary + from the type system
This commit is contained in:
Albert 2018-11-28 13:23:19 +01:00
parent 15e28fa444
commit df08d79623
2 changed files with 4 additions and 4 deletions

View File

@ -612,10 +612,9 @@ TypeResult IntegerType::unaryOperatorResult(Token _operator) const
// "delete" is ok for all integer types // "delete" is ok for all integer types
if (_operator == Token::Delete) if (_operator == Token::Delete)
return TypeResult{make_shared<TupleType>()}; return TypeResult{make_shared<TupleType>()};
// we allow +, -, ++ and -- // we allow -, ++ and --
else if (_operator == Token::Add || _operator == Token::Sub || else if (_operator == Token::Sub || _operator == Token::Inc ||
_operator == Token::Inc || _operator == Token::Dec || _operator == Token::Dec || _operator == Token::BitNot)
_operator == Token::BitNot)
return TypeResult{shared_from_this()}; return TypeResult{shared_from_this()};
else else
return TypeResult{""}; return TypeResult{""};

View File

@ -6,3 +6,4 @@ contract test {
} }
// ---- // ----
// SyntaxError: (70-72): Use of unary + is disallowed. // SyntaxError: (70-72): Use of unary + is disallowed.
// TypeError: (70-72): Unary operator + cannot be applied to type uint256