mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Merge pull request #2734 from chriseth/sol_fixOperators
Disallow some binary operators.
This commit is contained in:
commit
0d66d8cf7c
@ -1883,6 +1883,34 @@ BOOST_AUTO_TEST_CASE(positive_integers_to_unsigned_out_of_bound)
|
||||
BOOST_CHECK_THROW(parseTextAndResolveNames(sourceCode), TypeError);
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(integer_boolean_operators)
|
||||
{
|
||||
char const* sourceCode1 = R"(
|
||||
contract test { function() { uint x = 1; uint y = 2; x || y; } }
|
||||
)";
|
||||
BOOST_CHECK_THROW(parseTextAndResolveNames(sourceCode1), TypeError);
|
||||
char const* sourceCode2 = R"(
|
||||
contract test { function() { uint x = 1; uint y = 2; x && y; } }
|
||||
)";
|
||||
BOOST_CHECK_THROW(parseTextAndResolveNames(sourceCode2), TypeError);
|
||||
char const* sourceCode3 = R"(
|
||||
contract test { function() { uint x = 1; !x; } }
|
||||
)";
|
||||
BOOST_CHECK_THROW(parseTextAndResolveNames(sourceCode3), TypeError);
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(reference_compare_operators)
|
||||
{
|
||||
char const* sourceCode1 = R"(
|
||||
contract test { bytes a; bytes b; function() { a == b; } }
|
||||
)";
|
||||
BOOST_CHECK_THROW(parseTextAndResolveNames(sourceCode1), TypeError);
|
||||
char const* sourceCode2 = R"(
|
||||
contract test { struct s {uint a;}; s x; s y; function() { x == y; } }
|
||||
)";
|
||||
BOOST_CHECK_THROW(parseTextAndResolveNames(sourceCode2), TypeError);
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(overwrite_memory_location_external)
|
||||
{
|
||||
char const* sourceCode = R"(
|
||||
|
Loading…
Reference in New Issue
Block a user