diff --git a/docs/050-breaking-changes.rst b/docs/050-breaking-changes.rst index 19f05adff2bc..23bf368fbe38 100644 --- a/docs/050-breaking-changes.rst +++ b/docs/050-breaking-changes.rst @@ -501,6 +501,7 @@ New version: // To increase clarity, we suggest the use of a library for // the conversion (provided after the contract in this example). address payable addr = unknownContract.makePayable(); + // This will report a warning require(addr.send(1 ether)); // Since uint32 (4 bytes) is smaller than bytes8 (8 bytes), diff --git a/docs/assembly.rst b/docs/assembly.rst index 3f00ab6a8a79..5b7f50012e18 100644 --- a/docs/assembly.rst +++ b/docs/assembly.rst @@ -381,8 +381,9 @@ of Solidity, you can use a special comment to annotate an assembly block as memo ... } -Note that we will disallow the annotation via comment in a future breaking release; so, if you are not concerned with -backward-compatibility with older compiler versions, prefer using the dialect string. +.. warning:: + The ``memory-safe-assembly`` special comment will be deprecated in the next breaking version (0.9). + So, if you are not concerned with backward-compatibility with older compiler versions, prefer using the dialect string. Advanced Safe Use of Memory --------------------------- diff --git a/docs/common-patterns.rst b/docs/common-patterns.rst index cbc219b53b5a..594e39f8ed41 100644 --- a/docs/common-patterns.rst +++ b/docs/common-patterns.rst @@ -57,6 +57,7 @@ you receive the funds of the person who is now the richest. // Remember to zero the pending refund before // sending to prevent reentrancy attacks pendingWithdrawals[msg.sender] = 0; + // This will report a warning payable(msg.sender).transfer(amount); } } @@ -84,6 +85,7 @@ This is as opposed to the more intuitive sending pattern: function becomeRichest() public payable { if (msg.value <= mostSent) revert NotEnoughEther(); // This line can cause problems (explained below). + // This will report a warning richest.transfer(msg.value); richest = payable(msg.sender); mostSent = msg.value; @@ -211,6 +213,7 @@ restrictions highly readable. _; if (msg.value > amount) + // This will report a warning payable(msg.sender).transfer(msg.value - amount); } diff --git a/docs/contracts/functions.rst b/docs/contracts/functions.rst index a3a2755388c8..4cea71c6a85c 100644 --- a/docs/contracts/functions.rst +++ b/docs/contracts/functions.rst @@ -318,6 +318,7 @@ will consume more gas than the 2300 gas stipend: you have to implement a receive Ether function (using payable fallback functions for receiving Ether is not recommended, since the fallback is invoked and would not fail for interface confusions on the part of the sender). + Note that ``send`` and ``transfer`` are scheduled to be deprecated in the next breaking version (0.9). .. warning:: @@ -440,6 +441,7 @@ operations as long as there is enough gas passed on to it. // If someone sends Ether to that contract, // the transfer will fail, i.e. this returns false here. + // This will report a warning return testPayable.send(2 ether); } diff --git a/docs/contracts/inheritance.rst b/docs/contracts/inheritance.rst index 8a2d12afd839..969d6dea5492 100644 --- a/docs/contracts/inheritance.rst +++ b/docs/contracts/inheritance.rst @@ -392,6 +392,7 @@ and the ``override`` keyword must be used in the overriding modifier: contract Base { + // This will report a warning modifier foo() virtual {_;} } @@ -411,11 +412,13 @@ explicitly: contract Base1 { + // This will report a warning modifier foo() virtual {_;} } contract Base2 { + // This will report a warning modifier foo() virtual {_;} } @@ -424,6 +427,8 @@ explicitly: modifier foo() override(Base1, Base2) {_;} } +.. warning:: + virtual modifiers will be deprecated in the next breaking version (0.9). .. index:: ! constructor diff --git a/docs/control-structures.rst b/docs/control-structures.rst index 8a815e10ef0f..d20d7983e0c0 100644 --- a/docs/control-structures.rst +++ b/docs/control-structures.rst @@ -698,6 +698,7 @@ and ``assert`` for internal error checking. function sendHalf(address payable addr) public payable returns (uint balance) { require(msg.value % 2 == 0, "Even value required."); uint balanceBeforeTransfer = address(this).balance; + // This will report a warning addr.transfer(msg.value / 2); // Since transfer throws an exception on failure and // cannot call back here, there should be no way for us to @@ -775,6 +776,7 @@ together with ``revert`` and the equivalent ``require``: if (msg.sender != owner) revert Unauthorized(); + // This will report a warning payable(msg.sender).transfer(address(this).balance); } } diff --git a/docs/examples/blind-auction.rst b/docs/examples/blind-auction.rst index 47e19033f9ae..1f6d2440600b 100644 --- a/docs/examples/blind-auction.rst +++ b/docs/examples/blind-auction.rst @@ -124,6 +124,7 @@ to receive their Ether - contracts cannot activate themselves. // msg.sender is not of type `address payable` and must be // explicitly converted using `payable(msg.sender)` in order // use the member function `send()`. + // This will report a warning if (!payable(msg.sender).send(amount)) { // No need to call throw here, just reset the amount owing pendingReturns[msg.sender] = amount; @@ -160,6 +161,7 @@ to receive their Ether - contracts cannot activate themselves. emit AuctionEnded(highestBidder, highestBid); // 3. Interaction + // This will report a warning beneficiary.transfer(highestBid); } } @@ -310,6 +312,7 @@ invalid bids. // the same deposit. bidToCheck.blindedBid = bytes32(0); } + // This will report a warning payable(msg.sender).transfer(refund); } @@ -323,6 +326,7 @@ invalid bids. // conditions -> effects -> interaction). pendingReturns[msg.sender] = 0; + // This will report a warning payable(msg.sender).transfer(amount); } } @@ -336,6 +340,7 @@ invalid bids. if (ended) revert AuctionEndAlreadyCalled(); emit AuctionEnded(highestBidder, highestBid); ended = true; + // This will report a warning beneficiary.transfer(highestBid); } diff --git a/docs/examples/micropayment.rst b/docs/examples/micropayment.rst index a7b26bb51b8b..e1c3c2dcd346 100644 --- a/docs/examples/micropayment.rst +++ b/docs/examples/micropayment.rst @@ -185,6 +185,7 @@ The full contract // this recreates the message that was signed on the client bytes32 message = prefixed(keccak256(abi.encodePacked(msg.sender, amount, nonce, this))); require(recoverSigner(message, signature) == owner); + // This will report a warning payable(msg.sender).transfer(amount); } @@ -195,6 +196,7 @@ The full contract { require(msg.sender == owner); freeze(); + // This will report a warning payable(msg.sender).transfer(address(this).balance); } @@ -406,8 +408,10 @@ The full contract require(msg.sender == recipient); require(isValidSignature(amount, signature)); + // This will report a warning recipient.transfer(amount); freeze(); + // This will report a warning sender.transfer(address(this).balance); } @@ -430,6 +434,7 @@ The full contract { require(block.timestamp >= expiration); freeze(); + // This will report a warning sender.transfer(address(this).balance); } diff --git a/docs/examples/safe-remote.rst b/docs/examples/safe-remote.rst index a2651af23882..d599386a68d8 100644 --- a/docs/examples/safe-remote.rst +++ b/docs/examples/safe-remote.rst @@ -97,6 +97,7 @@ you can use state machine-like constructs inside a contract. // reentrancy-safe, because it is the // last call in this function and we // already changed the state. + // This will report a warning. seller.transfer(address(this).balance); } @@ -128,6 +129,7 @@ you can use state machine-like constructs inside a contract. // can call in again here. state = State.Release; + // This will report a warning buyer.transfer(value); } @@ -144,6 +146,7 @@ you can use state machine-like constructs inside a contract. // can call in again here. state = State.Inactive; + // This will report a warning seller.transfer(3 * value); } } diff --git a/docs/layout-of-source-files.rst b/docs/layout-of-source-files.rst index e51b3ad98eb4..9813230362a6 100644 --- a/docs/layout-of-source-files.rst +++ b/docs/layout-of-source-files.rst @@ -103,10 +103,13 @@ select between the two implementations of the ABI encoder and decoder. The new ABI coder (v2) is able to encode and decode arbitrarily nested arrays and structs. Apart from supporting more types, it involves more extensive validation and safety checks, which may result in higher gas costs, but also heightened -security. It is considered -non-experimental as of Solidity 0.6.0 and it is enabled by default starting +security. +It is considered non-experimental as of Solidity 0.6.0 and it is enabled by default starting with Solidity 0.8.0. The old ABI coder can still be selected using ``pragma abicoder v1;``. +.. warning:: + The ABI coder v1 will be deprecated in the next breaking version (0.9). + The set of types supported by the new encoder is a strict superset of the ones supported by the old one. Contracts that use it can interact with ones that do not without limitations. The reverse is possible only as long as the diff --git a/docs/security-considerations.rst b/docs/security-considerations.rst index eb42993e6764..c7009e495ad6 100644 --- a/docs/security-considerations.rst +++ b/docs/security-considerations.rst @@ -65,6 +65,7 @@ To give an example, the following code contains a bug (it is just a snippet and mapping(address => uint) shares; /// Withdraw your share. function withdraw() public { + // This will report a warning if (payable(msg.sender).send(shares[msg.sender])) shares[msg.sender] = 0; } @@ -109,6 +110,7 @@ To avoid reentrancy, you can use the Checks-Effects-Interactions pattern as demo function withdraw() public { uint share = shares[msg.sender]; shares[msg.sender] = 0; + // This will report a warning payable(msg.sender).transfer(share); } } @@ -255,6 +257,7 @@ Let's say you have a wallet contract like this: function transferTo(address payable dest, uint amount) public { // THE BUG IS RIGHT HERE, you must use msg.sender instead of tx.origin require(tx.origin == owner); + // This will report a warning dest.transfer(amount); } } diff --git a/docs/types/reference-types.rst b/docs/types/reference-types.rst index 79ba8da6e5be..fb8fa99e93e4 100644 --- a/docs/types/reference-types.rst +++ b/docs/types/reference-types.rst @@ -729,6 +729,7 @@ shown in the following example: return false; uint amount = c.amount; c.amount = 0; + // This will report a warning c.beneficiary.transfer(amount); return true; } diff --git a/docs/types/value-types.rst b/docs/types/value-types.rst index 57fa7b3dabd3..95845c7b9fbb 100644 --- a/docs/types/value-types.rst +++ b/docs/types/value-types.rst @@ -261,6 +261,9 @@ reverts on failure. .. note:: If ``x`` is a contract address, its code (more specifically: its :ref:`receive-ether-function`, if present, or otherwise its :ref:`fallback-function`, if present) will be executed together with the ``transfer`` call (this is a feature of the EVM and cannot be prevented). If that execution runs out of gas or fails in any way, the Ether transfer will be reverted and the current contract will stop with an exception. +.. warning:: + ``transfer`` will be deprecated in the next breaking version (0.9). + * ``send`` ``send`` is the low-level counterpart of ``transfer``. If the execution fails, the current contract will not stop with an exception, but ``send`` will return ``false``. @@ -270,6 +273,7 @@ reverts on failure. (this can always be forced by the caller) and it also fails if the recipient runs out of gas. So in order to make safe Ether transfers, always check the return value of ``send``, use ``transfer`` or even better: use a pattern where the recipient withdraws the Ether. + Please, be aware that ``send`` will be deprecated in the next breaking version (0.9). * ``call``, ``delegatecall`` and ``staticcall`` diff --git a/libsolidity/analysis/DocStringTagParser.cpp b/libsolidity/analysis/DocStringTagParser.cpp index 5d95f42e902c..6cd616aaa454 100644 --- a/libsolidity/analysis/DocStringTagParser.cpp +++ b/libsolidity/analysis/DocStringTagParser.cpp @@ -211,6 +211,11 @@ bool DocStringTagParser::visit(InlineAssembly const& _assembly) "otherwise only use the NatSpec tag." ); _assembly.annotation().markedMemorySafe = true; + m_errorReporter.warning( + 2424_error, + _assembly.location(), + "Natspec memory safe annotation for inline assembly will be deprecated in the next breaking version." + ); } else m_errorReporter.warning( diff --git a/libsolidity/analysis/SyntaxChecker.cpp b/libsolidity/analysis/SyntaxChecker.cpp index 1e3f5f1c2a56..8e7a8d76192c 100644 --- a/libsolidity/analysis/SyntaxChecker.cpp +++ b/libsolidity/analysis/SyntaxChecker.cpp @@ -149,6 +149,13 @@ bool SyntaxChecker::visit(PragmaDirective const& _pragma) ); else m_sourceUnit->annotation().useABICoderV2 = (_pragma.literals()[1] == "v2"); + + if (_pragma.literals().size() > 1 && _pragma.literals()[1] == "v1") + m_errorReporter.warning( + 9511_error, + _pragma.location(), + "ABI coder v1 will be deprecated in the next breaking version." + ); } else if (_pragma.literals()[0] == "solidity") { @@ -184,6 +191,10 @@ void SyntaxChecker::endVisit(ModifierDefinition const& _modifier) { if (_modifier.isImplemented() && !m_placeholderFound) m_errorReporter.syntaxError(2883_error, _modifier.body().location(), "Modifier body does not contain '_'."); + + if (_modifier.markedVirtual()) + m_errorReporter.warning(8429_error, _modifier.location(), "Virtual modifiers will be deprecated in the next breaking version."); + m_placeholderFound = false; } diff --git a/libsolidity/analysis/TypeChecker.cpp b/libsolidity/analysis/TypeChecker.cpp index e56ee157d94d..b49f52c86fbc 100644 --- a/libsolidity/analysis/TypeChecker.cpp +++ b/libsolidity/analysis/TypeChecker.cpp @@ -1829,6 +1829,16 @@ void TypeChecker::endVisit(BinaryOperation const& _operation) ) ); } + if ( + TokenTraits::isCompareOp(_operation.getOperator()) && + commonType->category() == Type::Category::Contract + ) + m_errorReporter.warning( + 9170_error, + _operation.location(), + "Comparison of variables of contract type will be deprecated in the next breaking version." + "Consider using an explicit cast to address type." + ); } Type const* TypeChecker::typeCheckTypeConversionAndRetrieveReturnType( @@ -3212,6 +3222,19 @@ bool TypeChecker::visit(MemberAccess const& _memberAccess) if (contractType && contractType->isSuper()) requiredLookup = VirtualLookup::Super; } + + if ( + funType->kind() == FunctionType::Kind::Send || + funType->kind() == FunctionType::Kind::Transfer + ) + m_errorReporter.warning( + 9207_error, + _memberAccess.location(), + fmt::format( + "{} will be deprecated in the next breaking version.", + funType->kind() == FunctionType::Kind::Send ? "send" : "transfer" + ) + ); } annotation.requiredLookup = requiredLookup; diff --git a/test/cmdlineTests/model_checker_targets_all_all_engines/err b/test/cmdlineTests/model_checker_targets_all_all_engines/err index e095ba263c5a..92c762b72afc 100644 --- a/test/cmdlineTests/model_checker_targets_all_all_engines/err +++ b/test/cmdlineTests/model_checker_targets_all_all_engines/err @@ -1,3 +1,9 @@ +Warning: transfer will be deprecated in the next breaking version. + --> input.sol:10:3: + | +10 | a.transfer(x); + | ^^^^^^^^^^ + Warning: CHC: Underflow (resulting value less than 0) happens here. Counterexample: arr = [] diff --git a/test/cmdlineTests/model_checker_targets_all_bmc/err b/test/cmdlineTests/model_checker_targets_all_bmc/err index 3887cc6b2a7f..0d24deacbb1c 100644 --- a/test/cmdlineTests/model_checker_targets_all_bmc/err +++ b/test/cmdlineTests/model_checker_targets_all_bmc/err @@ -1,3 +1,9 @@ +Warning: transfer will be deprecated in the next breaking version. + --> input.sol:10:3: + | +10 | a.transfer(x); + | ^^^^^^^^^^ + Warning: BMC: Condition is always true. --> input.sol:6:11: | diff --git a/test/cmdlineTests/model_checker_targets_all_chc/err b/test/cmdlineTests/model_checker_targets_all_chc/err index c3853983af72..cfc0958ba612 100644 --- a/test/cmdlineTests/model_checker_targets_all_chc/err +++ b/test/cmdlineTests/model_checker_targets_all_chc/err @@ -1,3 +1,9 @@ +Warning: transfer will be deprecated in the next breaking version. + --> input.sol:10:3: + | +10 | a.transfer(x); + | ^^^^^^^^^^ + Warning: CHC: Underflow (resulting value less than 0) happens here. Counterexample: arr = [] diff --git a/test/cmdlineTests/model_checker_targets_assert_bmc/err b/test/cmdlineTests/model_checker_targets_assert_bmc/err index 27395c9dc507..12c7e0fd4b7a 100644 --- a/test/cmdlineTests/model_checker_targets_assert_bmc/err +++ b/test/cmdlineTests/model_checker_targets_assert_bmc/err @@ -1,3 +1,9 @@ +Warning: transfer will be deprecated in the next breaking version. + --> input.sol:10:3: + | +10 | a.transfer(x); + | ^^^^^^^^^^ + Warning: BMC: Assertion violation happens here. --> input.sol:11:3: | diff --git a/test/cmdlineTests/model_checker_targets_assert_chc/err b/test/cmdlineTests/model_checker_targets_assert_chc/err index ada7c3d3dc90..3da4e27c4a2b 100644 --- a/test/cmdlineTests/model_checker_targets_assert_chc/err +++ b/test/cmdlineTests/model_checker_targets_assert_chc/err @@ -1,3 +1,9 @@ +Warning: transfer will be deprecated in the next breaking version. + --> input.sol:10:3: + | +10 | a.transfer(x); + | ^^^^^^^^^^ + Warning: CHC: Assertion violation happens here. Counterexample: arr = [] diff --git a/test/cmdlineTests/model_checker_targets_balance_bmc/err b/test/cmdlineTests/model_checker_targets_balance_bmc/err index 178bd66620bd..8b6cb8b53797 100644 --- a/test/cmdlineTests/model_checker_targets_balance_bmc/err +++ b/test/cmdlineTests/model_checker_targets_balance_bmc/err @@ -1,3 +1,9 @@ +Warning: transfer will be deprecated in the next breaking version. + --> input.sol:10:3: + | +10 | a.transfer(x); + | ^^^^^^^^^^ + Warning: BMC: Insufficient funds happens here. --> input.sol:10:3: | diff --git a/test/cmdlineTests/model_checker_targets_balance_chc/err b/test/cmdlineTests/model_checker_targets_balance_chc/err index 57bfe42678e4..bdc6f042c171 100644 --- a/test/cmdlineTests/model_checker_targets_balance_chc/err +++ b/test/cmdlineTests/model_checker_targets_balance_chc/err @@ -1 +1,7 @@ +Warning: transfer will be deprecated in the next breaking version. + --> input.sol:11:3: + | +11 | a.transfer(x); + | ^^^^^^^^^^ + Info: CHC: 1 verification condition(s) proved safe! Enable the model checker option "show proved safe" to see all of them. diff --git a/test/cmdlineTests/model_checker_targets_constant_condition_bmc/err b/test/cmdlineTests/model_checker_targets_constant_condition_bmc/err index a7228dd768e8..57a2773ce184 100644 --- a/test/cmdlineTests/model_checker_targets_constant_condition_bmc/err +++ b/test/cmdlineTests/model_checker_targets_constant_condition_bmc/err @@ -1,3 +1,9 @@ +Warning: transfer will be deprecated in the next breaking version. + --> input.sol:10:3: + | +10 | a.transfer(x); + | ^^^^^^^^^^ + Warning: BMC: Condition is always true. --> input.sol:6:11: | diff --git a/test/cmdlineTests/model_checker_targets_constant_condition_chc/err b/test/cmdlineTests/model_checker_targets_constant_condition_chc/err new file mode 100644 index 000000000000..70c7bf10657c --- /dev/null +++ b/test/cmdlineTests/model_checker_targets_constant_condition_chc/err @@ -0,0 +1,5 @@ +Warning: transfer will be deprecated in the next breaking version. + --> input.sol:11:3: + | +11 | a.transfer(x); + | ^^^^^^^^^^ diff --git a/test/cmdlineTests/model_checker_targets_default_all_engines/err b/test/cmdlineTests/model_checker_targets_default_all_engines/err index 58cbc01f1436..58dfd87601ab 100644 --- a/test/cmdlineTests/model_checker_targets_default_all_engines/err +++ b/test/cmdlineTests/model_checker_targets_default_all_engines/err @@ -1,3 +1,9 @@ +Warning: transfer will be deprecated in the next breaking version. + --> input.sol:10:3: + | +10 | a.transfer(x); + | ^^^^^^^^^^ + Warning: CHC: Division by zero happens here. Counterexample: arr = [] diff --git a/test/cmdlineTests/model_checker_targets_default_bmc/err b/test/cmdlineTests/model_checker_targets_default_bmc/err index bc85e3cb4acc..a9ab8df2863b 100644 --- a/test/cmdlineTests/model_checker_targets_default_bmc/err +++ b/test/cmdlineTests/model_checker_targets_default_bmc/err @@ -1,3 +1,9 @@ +Warning: transfer will be deprecated in the next breaking version. + --> input.sol:10:3: + | +10 | a.transfer(x); + | ^^^^^^^^^^ + Warning: BMC: Condition is always true. --> input.sol:6:11: | diff --git a/test/cmdlineTests/model_checker_targets_default_chc/err b/test/cmdlineTests/model_checker_targets_default_chc/err index e8b7382168ac..e19cc5b3915e 100644 --- a/test/cmdlineTests/model_checker_targets_default_chc/err +++ b/test/cmdlineTests/model_checker_targets_default_chc/err @@ -1,3 +1,9 @@ +Warning: transfer will be deprecated in the next breaking version. + --> input.sol:10:3: + | +10 | a.transfer(x); + | ^^^^^^^^^^ + Warning: CHC: Division by zero happens here. Counterexample: arr = [] diff --git a/test/cmdlineTests/model_checker_targets_div_by_zero_bmc/err b/test/cmdlineTests/model_checker_targets_div_by_zero_bmc/err index 2d554ebceb7d..54c8a14517f6 100644 --- a/test/cmdlineTests/model_checker_targets_div_by_zero_bmc/err +++ b/test/cmdlineTests/model_checker_targets_div_by_zero_bmc/err @@ -1,3 +1,9 @@ +Warning: transfer will be deprecated in the next breaking version. + --> input.sol:10:3: + | +10 | a.transfer(x); + | ^^^^^^^^^^ + Warning: BMC: Division by zero happens here. --> input.sol:9:3: | diff --git a/test/cmdlineTests/model_checker_targets_div_by_zero_chc/err b/test/cmdlineTests/model_checker_targets_div_by_zero_chc/err index 81616b3bedab..4ba81f4b1f77 100644 --- a/test/cmdlineTests/model_checker_targets_div_by_zero_chc/err +++ b/test/cmdlineTests/model_checker_targets_div_by_zero_chc/err @@ -1,3 +1,9 @@ +Warning: transfer will be deprecated in the next breaking version. + --> input.sol:10:3: + | +10 | a.transfer(x); + | ^^^^^^^^^^ + Warning: CHC: Division by zero happens here. Counterexample: arr = [] diff --git a/test/cmdlineTests/model_checker_targets_out_of_bounds_bmc/err b/test/cmdlineTests/model_checker_targets_out_of_bounds_bmc/err new file mode 100644 index 000000000000..70c7bf10657c --- /dev/null +++ b/test/cmdlineTests/model_checker_targets_out_of_bounds_bmc/err @@ -0,0 +1,5 @@ +Warning: transfer will be deprecated in the next breaking version. + --> input.sol:11:3: + | +11 | a.transfer(x); + | ^^^^^^^^^^ diff --git a/test/cmdlineTests/model_checker_targets_out_of_bounds_chc/err b/test/cmdlineTests/model_checker_targets_out_of_bounds_chc/err index 907a19f1e11a..341bc8bd428a 100644 --- a/test/cmdlineTests/model_checker_targets_out_of_bounds_chc/err +++ b/test/cmdlineTests/model_checker_targets_out_of_bounds_chc/err @@ -1,3 +1,9 @@ +Warning: transfer will be deprecated in the next breaking version. + --> input.sol:10:3: + | +10 | a.transfer(x); + | ^^^^^^^^^^ + Warning: CHC: Out of bounds access happens here. Counterexample: arr = [] diff --git a/test/cmdlineTests/model_checker_targets_overflow_bmc/err b/test/cmdlineTests/model_checker_targets_overflow_bmc/err index a0f9ff1e07a9..c877b1cffd7e 100644 --- a/test/cmdlineTests/model_checker_targets_overflow_bmc/err +++ b/test/cmdlineTests/model_checker_targets_overflow_bmc/err @@ -1,3 +1,9 @@ +Warning: transfer will be deprecated in the next breaking version. + --> input.sol:10:3: + | +10 | a.transfer(x); + | ^^^^^^^^^^ + Warning: BMC: Overflow (resulting value larger than 2**256 - 1) happens here. --> input.sol:8:3: | diff --git a/test/cmdlineTests/model_checker_targets_overflow_chc/err b/test/cmdlineTests/model_checker_targets_overflow_chc/err index 60298f02285a..2ad03aba7181 100644 --- a/test/cmdlineTests/model_checker_targets_overflow_chc/err +++ b/test/cmdlineTests/model_checker_targets_overflow_chc/err @@ -1,3 +1,9 @@ +Warning: transfer will be deprecated in the next breaking version. + --> input.sol:10:3: + | +10 | a.transfer(x); + | ^^^^^^^^^^ + Warning: CHC: Overflow (resulting value larger than 2**256 - 1) happens here. Counterexample: arr = [] diff --git a/test/cmdlineTests/model_checker_targets_pop_empty_bmc/err b/test/cmdlineTests/model_checker_targets_pop_empty_bmc/err new file mode 100644 index 000000000000..70c7bf10657c --- /dev/null +++ b/test/cmdlineTests/model_checker_targets_pop_empty_bmc/err @@ -0,0 +1,5 @@ +Warning: transfer will be deprecated in the next breaking version. + --> input.sol:11:3: + | +11 | a.transfer(x); + | ^^^^^^^^^^ diff --git a/test/cmdlineTests/model_checker_targets_pop_empty_chc/err b/test/cmdlineTests/model_checker_targets_pop_empty_chc/err index a01248775704..cf04f04db9f2 100644 --- a/test/cmdlineTests/model_checker_targets_pop_empty_chc/err +++ b/test/cmdlineTests/model_checker_targets_pop_empty_chc/err @@ -1,3 +1,9 @@ +Warning: transfer will be deprecated in the next breaking version. + --> input.sol:10:3: + | +10 | a.transfer(x); + | ^^^^^^^^^^ + Warning: CHC: Empty array "pop" happens here. Counterexample: arr = [] diff --git a/test/cmdlineTests/model_checker_targets_underflow_bmc/err b/test/cmdlineTests/model_checker_targets_underflow_bmc/err index db14639238c6..b5462a84efd8 100644 --- a/test/cmdlineTests/model_checker_targets_underflow_bmc/err +++ b/test/cmdlineTests/model_checker_targets_underflow_bmc/err @@ -1,3 +1,9 @@ +Warning: transfer will be deprecated in the next breaking version. + --> input.sol:10:3: + | +10 | a.transfer(x); + | ^^^^^^^^^^ + Warning: BMC: Underflow (resulting value less than 0) happens here. --> input.sol:7:3: | diff --git a/test/cmdlineTests/model_checker_targets_underflow_chc/err b/test/cmdlineTests/model_checker_targets_underflow_chc/err index 57c6649a40f4..b9e9f39b961f 100644 --- a/test/cmdlineTests/model_checker_targets_underflow_chc/err +++ b/test/cmdlineTests/model_checker_targets_underflow_chc/err @@ -1,3 +1,9 @@ +Warning: transfer will be deprecated in the next breaking version. + --> input.sol:10:3: + | +10 | a.transfer(x); + | ^^^^^^^^^^ + Warning: CHC: Underflow (resulting value less than 0) happens here. Counterexample: arr = [] diff --git a/test/cmdlineTests/model_checker_targets_underflow_overflow_assert_bmc/err b/test/cmdlineTests/model_checker_targets_underflow_overflow_assert_bmc/err index 670b064ce183..afc076e32dea 100644 --- a/test/cmdlineTests/model_checker_targets_underflow_overflow_assert_bmc/err +++ b/test/cmdlineTests/model_checker_targets_underflow_overflow_assert_bmc/err @@ -1,3 +1,9 @@ +Warning: transfer will be deprecated in the next breaking version. + --> input.sol:10:3: + | +10 | a.transfer(x); + | ^^^^^^^^^^ + Warning: BMC: Underflow (resulting value less than 0) happens here. --> input.sol:7:3: | diff --git a/test/cmdlineTests/model_checker_targets_underflow_overflow_assert_chc/err b/test/cmdlineTests/model_checker_targets_underflow_overflow_assert_chc/err index 4602e76006dc..4dd99cad82ae 100644 --- a/test/cmdlineTests/model_checker_targets_underflow_overflow_assert_chc/err +++ b/test/cmdlineTests/model_checker_targets_underflow_overflow_assert_chc/err @@ -1,3 +1,9 @@ +Warning: transfer will be deprecated in the next breaking version. + --> input.sol:10:3: + | +10 | a.transfer(x); + | ^^^^^^^^^^ + Warning: CHC: Underflow (resulting value less than 0) happens here. Counterexample: arr = [] diff --git a/test/cmdlineTests/model_checker_targets_underflow_overflow_bmc/err b/test/cmdlineTests/model_checker_targets_underflow_overflow_bmc/err index ea6dfb99cb5d..a663dc2cdc30 100644 --- a/test/cmdlineTests/model_checker_targets_underflow_overflow_bmc/err +++ b/test/cmdlineTests/model_checker_targets_underflow_overflow_bmc/err @@ -1,3 +1,9 @@ +Warning: transfer will be deprecated in the next breaking version. + --> input.sol:10:3: + | +10 | a.transfer(x); + | ^^^^^^^^^^ + Warning: BMC: Underflow (resulting value less than 0) happens here. --> input.sol:7:3: | diff --git a/test/cmdlineTests/model_checker_targets_underflow_overflow_chc/err b/test/cmdlineTests/model_checker_targets_underflow_overflow_chc/err index 8eed85ac3de3..b845f1db6588 100644 --- a/test/cmdlineTests/model_checker_targets_underflow_overflow_chc/err +++ b/test/cmdlineTests/model_checker_targets_underflow_overflow_chc/err @@ -1,3 +1,9 @@ +Warning: transfer will be deprecated in the next breaking version. + --> input.sol:10:3: + | +10 | a.transfer(x); + | ^^^^^^^^^^ + Warning: CHC: Underflow (resulting value less than 0) happens here. Counterexample: arr = [] diff --git a/test/cmdlineTests/standard_model_checker_targets_assert_bmc/output.json b/test/cmdlineTests/standard_model_checker_targets_assert_bmc/output.json index 9e90ec538d35..449f3a6453b4 100644 --- a/test/cmdlineTests/standard_model_checker_targets_assert_bmc/output.json +++ b/test/cmdlineTests/standard_model_checker_targets_assert_bmc/output.json @@ -1,5 +1,24 @@ { "errors": [ + { + "component": "general", + "errorCode": "9207", + "formattedMessage": "Warning: transfer will be deprecated in the next breaking version. + --> A:11:7: + | +11 | \t\t\t\t\t\ta.transfer(x); + | \t\t\t\t\t\t^^^^^^^^^^ + +", + "message": "transfer will be deprecated in the next breaking version.", + "severity": "warning", + "sourceLocation": { + "end": 234, + "file": "A", + "start": 224 + }, + "type": "Warning" + }, { "component": "general", "errorCode": "4661", diff --git a/test/cmdlineTests/standard_model_checker_targets_assert_chc/output.json b/test/cmdlineTests/standard_model_checker_targets_assert_chc/output.json index bf4fa6626933..8c28195357a4 100644 --- a/test/cmdlineTests/standard_model_checker_targets_assert_chc/output.json +++ b/test/cmdlineTests/standard_model_checker_targets_assert_chc/output.json @@ -1,5 +1,24 @@ { "errors": [ + { + "component": "general", + "errorCode": "9207", + "formattedMessage": "Warning: transfer will be deprecated in the next breaking version. + --> A:11:7: + | +11 | \t\t\t\t\t\ta.transfer(x); + | \t\t\t\t\t\t^^^^^^^^^^ + +", + "message": "transfer will be deprecated in the next breaking version.", + "severity": "warning", + "sourceLocation": { + "end": 234, + "file": "A", + "start": 224 + }, + "type": "Warning" + }, { "component": "general", "errorCode": "6328", diff --git a/test/cmdlineTests/standard_model_checker_targets_balance_bmc/output.json b/test/cmdlineTests/standard_model_checker_targets_balance_bmc/output.json index 6c2c90c9888b..a1e9674c7d73 100644 --- a/test/cmdlineTests/standard_model_checker_targets_balance_bmc/output.json +++ b/test/cmdlineTests/standard_model_checker_targets_balance_bmc/output.json @@ -1,5 +1,24 @@ { "errors": [ + { + "component": "general", + "errorCode": "9207", + "formattedMessage": "Warning: transfer will be deprecated in the next breaking version. + --> A:11:7: + | +11 | \t\t\t\t\t\ta.transfer(x); + | \t\t\t\t\t\t^^^^^^^^^^ + +", + "message": "transfer will be deprecated in the next breaking version.", + "severity": "warning", + "sourceLocation": { + "end": 234, + "file": "A", + "start": 224 + }, + "type": "Warning" + }, { "component": "general", "errorCode": "1236", diff --git a/test/cmdlineTests/standard_model_checker_targets_balance_chc/output.json b/test/cmdlineTests/standard_model_checker_targets_balance_chc/output.json index 9d3e40b708f1..5975a2247880 100644 --- a/test/cmdlineTests/standard_model_checker_targets_balance_chc/output.json +++ b/test/cmdlineTests/standard_model_checker_targets_balance_chc/output.json @@ -1,5 +1,24 @@ { "errors": [ + { + "component": "general", + "errorCode": "9207", + "formattedMessage": "Warning: transfer will be deprecated in the next breaking version. + --> A:11:7: + | +11 | \t\t\t\t\t\ta.transfer(x); + | \t\t\t\t\t\t^^^^^^^^^^ + +", + "message": "transfer will be deprecated in the next breaking version.", + "severity": "warning", + "sourceLocation": { + "end": 234, + "file": "A", + "start": 224 + }, + "type": "Warning" + }, { "component": "general", "errorCode": "1391", diff --git a/test/cmdlineTests/standard_model_checker_targets_constantCondition_bmc/output.json b/test/cmdlineTests/standard_model_checker_targets_constantCondition_bmc/output.json index 9bfdf0b02111..222fb8bea862 100644 --- a/test/cmdlineTests/standard_model_checker_targets_constantCondition_bmc/output.json +++ b/test/cmdlineTests/standard_model_checker_targets_constantCondition_bmc/output.json @@ -1,5 +1,24 @@ { "errors": [ + { + "component": "general", + "errorCode": "9207", + "formattedMessage": "Warning: transfer will be deprecated in the next breaking version. + --> A:11:7: + | +11 | \t\t\t\t\t\ta.transfer(x); + | \t\t\t\t\t\t^^^^^^^^^^ + +", + "message": "transfer will be deprecated in the next breaking version.", + "severity": "warning", + "sourceLocation": { + "end": 234, + "file": "A", + "start": 224 + }, + "type": "Warning" + }, { "component": "general", "errorCode": "6838", diff --git a/test/cmdlineTests/standard_model_checker_targets_constantCondition_chc/output.json b/test/cmdlineTests/standard_model_checker_targets_constantCondition_chc/output.json index f047ff70a9eb..e94fe66878af 100644 --- a/test/cmdlineTests/standard_model_checker_targets_constantCondition_chc/output.json +++ b/test/cmdlineTests/standard_model_checker_targets_constantCondition_chc/output.json @@ -1,4 +1,25 @@ { + "errors": [ + { + "component": "general", + "errorCode": "9207", + "formattedMessage": "Warning: transfer will be deprecated in the next breaking version. + --> A:11:7: + | +11 | \t\t\t\t\t\ta.transfer(x); + | \t\t\t\t\t\t^^^^^^^^^^ + +", + "message": "transfer will be deprecated in the next breaking version.", + "severity": "warning", + "sourceLocation": { + "end": 234, + "file": "A", + "start": 224 + }, + "type": "Warning" + } + ], "sources": { "A": { "id": 0 diff --git a/test/cmdlineTests/standard_model_checker_targets_default_all_engines/output.json b/test/cmdlineTests/standard_model_checker_targets_default_all_engines/output.json index 8f20d854bfb5..198f29b02c82 100644 --- a/test/cmdlineTests/standard_model_checker_targets_default_all_engines/output.json +++ b/test/cmdlineTests/standard_model_checker_targets_default_all_engines/output.json @@ -1,5 +1,24 @@ { "errors": [ + { + "component": "general", + "errorCode": "9207", + "formattedMessage": "Warning: transfer will be deprecated in the next breaking version. + --> A:11:7: + | +11 | \t\t\t\t\t\ta.transfer(x); + | \t\t\t\t\t\t^^^^^^^^^^ + +", + "message": "transfer will be deprecated in the next breaking version.", + "severity": "warning", + "sourceLocation": { + "end": 234, + "file": "A", + "start": 224 + }, + "type": "Warning" + }, { "component": "general", "errorCode": "4281", diff --git a/test/cmdlineTests/standard_model_checker_targets_default_bmc/output.json b/test/cmdlineTests/standard_model_checker_targets_default_bmc/output.json index e055d38d2e53..43aa1393c74a 100644 --- a/test/cmdlineTests/standard_model_checker_targets_default_bmc/output.json +++ b/test/cmdlineTests/standard_model_checker_targets_default_bmc/output.json @@ -1,5 +1,24 @@ { "errors": [ + { + "component": "general", + "errorCode": "9207", + "formattedMessage": "Warning: transfer will be deprecated in the next breaking version. + --> A:11:7: + | +11 | \t\t\t\t\t\ta.transfer(x); + | \t\t\t\t\t\t^^^^^^^^^^ + +", + "message": "transfer will be deprecated in the next breaking version.", + "severity": "warning", + "sourceLocation": { + "end": 234, + "file": "A", + "start": 224 + }, + "type": "Warning" + }, { "component": "general", "errorCode": "6838", diff --git a/test/cmdlineTests/standard_model_checker_targets_default_chc/output.json b/test/cmdlineTests/standard_model_checker_targets_default_chc/output.json index e045a8bff49a..9b317997dfa0 100644 --- a/test/cmdlineTests/standard_model_checker_targets_default_chc/output.json +++ b/test/cmdlineTests/standard_model_checker_targets_default_chc/output.json @@ -1,5 +1,24 @@ { "errors": [ + { + "component": "general", + "errorCode": "9207", + "formattedMessage": "Warning: transfer will be deprecated in the next breaking version. + --> A:11:7: + | +11 | \t\t\t\t\t\ta.transfer(x); + | \t\t\t\t\t\t^^^^^^^^^^ + +", + "message": "transfer will be deprecated in the next breaking version.", + "severity": "warning", + "sourceLocation": { + "end": 234, + "file": "A", + "start": 224 + }, + "type": "Warning" + }, { "component": "general", "errorCode": "4281", diff --git a/test/cmdlineTests/standard_model_checker_targets_div_by_zero_bmc/output.json b/test/cmdlineTests/standard_model_checker_targets_div_by_zero_bmc/output.json index 6ba0e6f82057..40ad6bb01370 100644 --- a/test/cmdlineTests/standard_model_checker_targets_div_by_zero_bmc/output.json +++ b/test/cmdlineTests/standard_model_checker_targets_div_by_zero_bmc/output.json @@ -1,5 +1,24 @@ { "errors": [ + { + "component": "general", + "errorCode": "9207", + "formattedMessage": "Warning: transfer will be deprecated in the next breaking version. + --> A:11:7: + | +11 | \t\t\t\t\t\ta.transfer(x); + | \t\t\t\t\t\t^^^^^^^^^^ + +", + "message": "transfer will be deprecated in the next breaking version.", + "severity": "warning", + "sourceLocation": { + "end": 234, + "file": "A", + "start": 224 + }, + "type": "Warning" + }, { "component": "general", "errorCode": "3046", diff --git a/test/cmdlineTests/standard_model_checker_targets_div_by_zero_chc/output.json b/test/cmdlineTests/standard_model_checker_targets_div_by_zero_chc/output.json index 0789c79996fe..7bc95bcbe4e8 100644 --- a/test/cmdlineTests/standard_model_checker_targets_div_by_zero_chc/output.json +++ b/test/cmdlineTests/standard_model_checker_targets_div_by_zero_chc/output.json @@ -1,5 +1,24 @@ { "errors": [ + { + "component": "general", + "errorCode": "9207", + "formattedMessage": "Warning: transfer will be deprecated in the next breaking version. + --> A:11:7: + | +11 | \t\t\t\t\t\ta.transfer(x); + | \t\t\t\t\t\t^^^^^^^^^^ + +", + "message": "transfer will be deprecated in the next breaking version.", + "severity": "warning", + "sourceLocation": { + "end": 234, + "file": "A", + "start": 224 + }, + "type": "Warning" + }, { "component": "general", "errorCode": "4281", diff --git a/test/cmdlineTests/standard_model_checker_targets_out_of_bounds_bmc/output.json b/test/cmdlineTests/standard_model_checker_targets_out_of_bounds_bmc/output.json index f047ff70a9eb..e94fe66878af 100644 --- a/test/cmdlineTests/standard_model_checker_targets_out_of_bounds_bmc/output.json +++ b/test/cmdlineTests/standard_model_checker_targets_out_of_bounds_bmc/output.json @@ -1,4 +1,25 @@ { + "errors": [ + { + "component": "general", + "errorCode": "9207", + "formattedMessage": "Warning: transfer will be deprecated in the next breaking version. + --> A:11:7: + | +11 | \t\t\t\t\t\ta.transfer(x); + | \t\t\t\t\t\t^^^^^^^^^^ + +", + "message": "transfer will be deprecated in the next breaking version.", + "severity": "warning", + "sourceLocation": { + "end": 234, + "file": "A", + "start": 224 + }, + "type": "Warning" + } + ], "sources": { "A": { "id": 0 diff --git a/test/cmdlineTests/standard_model_checker_targets_out_of_bounds_chc/output.json b/test/cmdlineTests/standard_model_checker_targets_out_of_bounds_chc/output.json index f5f49fb508e7..f43b0a51ce9f 100644 --- a/test/cmdlineTests/standard_model_checker_targets_out_of_bounds_chc/output.json +++ b/test/cmdlineTests/standard_model_checker_targets_out_of_bounds_chc/output.json @@ -1,5 +1,24 @@ { "errors": [ + { + "component": "general", + "errorCode": "9207", + "formattedMessage": "Warning: transfer will be deprecated in the next breaking version. + --> A:11:7: + | +11 | \t\t\t\t\t\ta.transfer(x); + | \t\t\t\t\t\t^^^^^^^^^^ + +", + "message": "transfer will be deprecated in the next breaking version.", + "severity": "warning", + "sourceLocation": { + "end": 234, + "file": "A", + "start": 224 + }, + "type": "Warning" + }, { "component": "general", "errorCode": "6368", diff --git a/test/cmdlineTests/standard_model_checker_targets_overflow_bmc/output.json b/test/cmdlineTests/standard_model_checker_targets_overflow_bmc/output.json index 8d34765cdb14..a62e20b410db 100644 --- a/test/cmdlineTests/standard_model_checker_targets_overflow_bmc/output.json +++ b/test/cmdlineTests/standard_model_checker_targets_overflow_bmc/output.json @@ -1,5 +1,24 @@ { "errors": [ + { + "component": "general", + "errorCode": "9207", + "formattedMessage": "Warning: transfer will be deprecated in the next breaking version. + --> A:11:7: + | +11 | \t\t\t\t\t\ta.transfer(x); + | \t\t\t\t\t\t^^^^^^^^^^ + +", + "message": "transfer will be deprecated in the next breaking version.", + "severity": "warning", + "sourceLocation": { + "end": 234, + "file": "A", + "start": 224 + }, + "type": "Warning" + }, { "component": "general", "errorCode": "2661", diff --git a/test/cmdlineTests/standard_model_checker_targets_overflow_chc/output.json b/test/cmdlineTests/standard_model_checker_targets_overflow_chc/output.json index 9beb30a35b7c..31094450a7ae 100644 --- a/test/cmdlineTests/standard_model_checker_targets_overflow_chc/output.json +++ b/test/cmdlineTests/standard_model_checker_targets_overflow_chc/output.json @@ -1,5 +1,24 @@ { "errors": [ + { + "component": "general", + "errorCode": "9207", + "formattedMessage": "Warning: transfer will be deprecated in the next breaking version. + --> A:11:7: + | +11 | \t\t\t\t\t\ta.transfer(x); + | \t\t\t\t\t\t^^^^^^^^^^ + +", + "message": "transfer will be deprecated in the next breaking version.", + "severity": "warning", + "sourceLocation": { + "end": 234, + "file": "A", + "start": 224 + }, + "type": "Warning" + }, { "component": "general", "errorCode": "4984", diff --git a/test/cmdlineTests/standard_model_checker_targets_pop_empty_bmc/output.json b/test/cmdlineTests/standard_model_checker_targets_pop_empty_bmc/output.json index f047ff70a9eb..e94fe66878af 100644 --- a/test/cmdlineTests/standard_model_checker_targets_pop_empty_bmc/output.json +++ b/test/cmdlineTests/standard_model_checker_targets_pop_empty_bmc/output.json @@ -1,4 +1,25 @@ { + "errors": [ + { + "component": "general", + "errorCode": "9207", + "formattedMessage": "Warning: transfer will be deprecated in the next breaking version. + --> A:11:7: + | +11 | \t\t\t\t\t\ta.transfer(x); + | \t\t\t\t\t\t^^^^^^^^^^ + +", + "message": "transfer will be deprecated in the next breaking version.", + "severity": "warning", + "sourceLocation": { + "end": 234, + "file": "A", + "start": 224 + }, + "type": "Warning" + } + ], "sources": { "A": { "id": 0 diff --git a/test/cmdlineTests/standard_model_checker_targets_pop_empty_chc/output.json b/test/cmdlineTests/standard_model_checker_targets_pop_empty_chc/output.json index 4cccf8456df4..65ab81ff140d 100644 --- a/test/cmdlineTests/standard_model_checker_targets_pop_empty_chc/output.json +++ b/test/cmdlineTests/standard_model_checker_targets_pop_empty_chc/output.json @@ -1,5 +1,24 @@ { "errors": [ + { + "component": "general", + "errorCode": "9207", + "formattedMessage": "Warning: transfer will be deprecated in the next breaking version. + --> A:11:7: + | +11 | \t\t\t\t\t\ta.transfer(x); + | \t\t\t\t\t\t^^^^^^^^^^ + +", + "message": "transfer will be deprecated in the next breaking version.", + "severity": "warning", + "sourceLocation": { + "end": 234, + "file": "A", + "start": 224 + }, + "type": "Warning" + }, { "component": "general", "errorCode": "2529", diff --git a/test/cmdlineTests/standard_model_checker_targets_underflow_bmc/output.json b/test/cmdlineTests/standard_model_checker_targets_underflow_bmc/output.json index df17886b2fea..d303b0fc22aa 100644 --- a/test/cmdlineTests/standard_model_checker_targets_underflow_bmc/output.json +++ b/test/cmdlineTests/standard_model_checker_targets_underflow_bmc/output.json @@ -1,5 +1,24 @@ { "errors": [ + { + "component": "general", + "errorCode": "9207", + "formattedMessage": "Warning: transfer will be deprecated in the next breaking version. + --> A:11:7: + | +11 | \t\t\t\t\t\ta.transfer(x); + | \t\t\t\t\t\t^^^^^^^^^^ + +", + "message": "transfer will be deprecated in the next breaking version.", + "severity": "warning", + "sourceLocation": { + "end": 234, + "file": "A", + "start": 224 + }, + "type": "Warning" + }, { "component": "general", "errorCode": "4144", diff --git a/test/cmdlineTests/standard_model_checker_targets_underflow_chc/output.json b/test/cmdlineTests/standard_model_checker_targets_underflow_chc/output.json index 442f2f47a981..859aa882a320 100644 --- a/test/cmdlineTests/standard_model_checker_targets_underflow_chc/output.json +++ b/test/cmdlineTests/standard_model_checker_targets_underflow_chc/output.json @@ -1,5 +1,24 @@ { "errors": [ + { + "component": "general", + "errorCode": "9207", + "formattedMessage": "Warning: transfer will be deprecated in the next breaking version. + --> A:11:7: + | +11 | \t\t\t\t\t\ta.transfer(x); + | \t\t\t\t\t\t^^^^^^^^^^ + +", + "message": "transfer will be deprecated in the next breaking version.", + "severity": "warning", + "sourceLocation": { + "end": 234, + "file": "A", + "start": 224 + }, + "type": "Warning" + }, { "component": "general", "errorCode": "3944", diff --git a/test/cmdlineTests/standard_model_checker_targets_underflow_overflow_assert_bmc/output.json b/test/cmdlineTests/standard_model_checker_targets_underflow_overflow_assert_bmc/output.json index c80d3e22a8e2..9f7041689d36 100644 --- a/test/cmdlineTests/standard_model_checker_targets_underflow_overflow_assert_bmc/output.json +++ b/test/cmdlineTests/standard_model_checker_targets_underflow_overflow_assert_bmc/output.json @@ -1,5 +1,24 @@ { "errors": [ + { + "component": "general", + "errorCode": "9207", + "formattedMessage": "Warning: transfer will be deprecated in the next breaking version. + --> A:11:7: + | +11 | \t\t\t\t\t\ta.transfer(x); + | \t\t\t\t\t\t^^^^^^^^^^ + +", + "message": "transfer will be deprecated in the next breaking version.", + "severity": "warning", + "sourceLocation": { + "end": 234, + "file": "A", + "start": 224 + }, + "type": "Warning" + }, { "component": "general", "errorCode": "4144", diff --git a/test/cmdlineTests/standard_model_checker_targets_underflow_overflow_assert_chc/output.json b/test/cmdlineTests/standard_model_checker_targets_underflow_overflow_assert_chc/output.json index e5719640aad3..3bc7228f7174 100644 --- a/test/cmdlineTests/standard_model_checker_targets_underflow_overflow_assert_chc/output.json +++ b/test/cmdlineTests/standard_model_checker_targets_underflow_overflow_assert_chc/output.json @@ -1,5 +1,24 @@ { "errors": [ + { + "component": "general", + "errorCode": "9207", + "formattedMessage": "Warning: transfer will be deprecated in the next breaking version. + --> A:11:7: + | +11 | \t\t\t\t\t\ta.transfer(x); + | \t\t\t\t\t\t^^^^^^^^^^ + +", + "message": "transfer will be deprecated in the next breaking version.", + "severity": "warning", + "sourceLocation": { + "end": 234, + "file": "A", + "start": 224 + }, + "type": "Warning" + }, { "component": "general", "errorCode": "3944", diff --git a/test/cmdlineTests/standard_model_checker_targets_underflow_overflow_bmc/output.json b/test/cmdlineTests/standard_model_checker_targets_underflow_overflow_bmc/output.json index de02d57c90ab..7c8873a83ebf 100644 --- a/test/cmdlineTests/standard_model_checker_targets_underflow_overflow_bmc/output.json +++ b/test/cmdlineTests/standard_model_checker_targets_underflow_overflow_bmc/output.json @@ -1,5 +1,24 @@ { "errors": [ + { + "component": "general", + "errorCode": "9207", + "formattedMessage": "Warning: transfer will be deprecated in the next breaking version. + --> A:11:7: + | +11 | \t\t\t\t\t\ta.transfer(x); + | \t\t\t\t\t\t^^^^^^^^^^ + +", + "message": "transfer will be deprecated in the next breaking version.", + "severity": "warning", + "sourceLocation": { + "end": 234, + "file": "A", + "start": 224 + }, + "type": "Warning" + }, { "component": "general", "errorCode": "4144", diff --git a/test/cmdlineTests/standard_model_checker_targets_underflow_overflow_chc/output.json b/test/cmdlineTests/standard_model_checker_targets_underflow_overflow_chc/output.json index 6fb8762e4312..c6e23f02f2d4 100644 --- a/test/cmdlineTests/standard_model_checker_targets_underflow_overflow_chc/output.json +++ b/test/cmdlineTests/standard_model_checker_targets_underflow_overflow_chc/output.json @@ -1,5 +1,24 @@ { "errors": [ + { + "component": "general", + "errorCode": "9207", + "formattedMessage": "Warning: transfer will be deprecated in the next breaking version. + --> A:11:7: + | +11 | \t\t\t\t\t\ta.transfer(x); + | \t\t\t\t\t\t^^^^^^^^^^ + +", + "message": "transfer will be deprecated in the next breaking version.", + "severity": "warning", + "sourceLocation": { + "end": 234, + "file": "A", + "start": 224 + }, + "type": "Warning" + }, { "component": "general", "errorCode": "3944", diff --git a/test/cmdlineTests/viair_abicoder_v1/err b/test/cmdlineTests/viair_abicoder_v1/err index 29fa2acd04a0..e5984eb01650 100644 --- a/test/cmdlineTests/viair_abicoder_v1/err +++ b/test/cmdlineTests/viair_abicoder_v1/err @@ -1,3 +1,9 @@ +Warning (9511): ABI coder v1 will be deprecated in the next breaking version. + --> input.sol:3:1: + | +3 | pragma abicoder v1; + | ^^^^^^^^^^^^^^^^^^^ + Warning (2066): Contract requests the ABI coder v1, which is incompatible with the IR. Using ABI coder v2 instead. --> input.sol:4:1: | diff --git a/test/externalTests/zeppelin.sh b/test/externalTests/zeppelin.sh index 9bc3e29132aa..f2f68292d89d 100755 --- a/test/externalTests/zeppelin.sh +++ b/test/externalTests/zeppelin.sh @@ -105,6 +105,25 @@ function zeppelin_test # Fails with ProviderError: Invalid transaction: GasFloorMoreThanGasLimit sed -i "177s|+ 2_000n|+ 10_000n|" test/metatx/ERC2771Forwarder.test.js + cat <<-EOF >> "$config_file" +const { TASK_COMPILE_SOLIDITY_COMPILE } = require("hardhat/builtin-tasks/task-names"); + +task(TASK_COMPILE_SOLIDITY_COMPILE) + .setAction(async (args, hre, runSuper) => { + const result = await runSuper(args); + + result.output.errors = (result.output.errors || []).filter(err => { + if (err.severity === "warning" && err.message.includes("will be deprecated")) { + return false; // suppress this warning + } + return true; + }); + + return result; + }); + +EOF + neutralize_package_json_hooks force_hardhat_compiler_binary "$config_file" "$BINARY_TYPE" "$BINARY_PATH" force_hardhat_compiler_settings "$config_file" "$(first_word "$SELECTED_PRESETS")" diff --git a/test/libsolidity/smtCheckerTests/blockchain_state/balance_spend.sol b/test/libsolidity/smtCheckerTests/blockchain_state/balance_spend.sol index 720ab5695029..7f619ca10d61 100644 --- a/test/libsolidity/smtCheckerTests/blockchain_state/balance_spend.sol +++ b/test/libsolidity/smtCheckerTests/blockchain_state/balance_spend.sol @@ -18,5 +18,6 @@ contract C { // SMTEngine: all // SMTIgnoreCex: yes // ---- +// Warning 9207: (175-186): transfer will be deprecated in the next breaking version. // Warning 6328: (280-314): CHC: Assertion violation happens here. // Info 1391: CHC: 3 verification condition(s) proved safe! Enable the model checker option "show proved safe" to see all of them. diff --git a/test/libsolidity/smtCheckerTests/blockchain_state/balance_spend_2.sol b/test/libsolidity/smtCheckerTests/blockchain_state/balance_spend_2.sol index 3ceac964f111..33d8b7821f4c 100644 --- a/test/libsolidity/smtCheckerTests/blockchain_state/balance_spend_2.sol +++ b/test/libsolidity/smtCheckerTests/blockchain_state/balance_spend_2.sol @@ -17,6 +17,7 @@ contract C { // SMTIgnoreCex: yes // SMTIgnoreOS: macos // ---- +// Warning 9207: (141-152): transfer will be deprecated in the next breaking version. // Warning 8656: (141-156): CHC: Insufficient funds happens here. // Warning 6328: (193-226): CHC: Assertion violation happens here. // Warning 6328: (245-279): CHC: Assertion violation happens here. diff --git a/test/libsolidity/smtCheckerTests/blockchain_state/decreasing_balance.sol b/test/libsolidity/smtCheckerTests/blockchain_state/decreasing_balance.sol index df35a2785824..23ebca70eee0 100644 --- a/test/libsolidity/smtCheckerTests/blockchain_state/decreasing_balance.sol +++ b/test/libsolidity/smtCheckerTests/blockchain_state/decreasing_balance.sol @@ -18,4 +18,5 @@ contract C { // ==== // SMTEngine: all // ---- +// Warning 9207: (160-170): transfer will be deprecated in the next breaking version. // Info 1391: CHC: 1 verification condition(s) proved safe! Enable the model checker option "show proved safe" to see all of them. diff --git a/test/libsolidity/smtCheckerTests/blockchain_state/free_function_2.sol b/test/libsolidity/smtCheckerTests/blockchain_state/free_function_2.sol index 3b7c0f9dce34..87e4abc6b14d 100644 --- a/test/libsolidity/smtCheckerTests/blockchain_state/free_function_2.sol +++ b/test/libsolidity/smtCheckerTests/blockchain_state/free_function_2.sol @@ -19,5 +19,6 @@ contract C { // SMTEngine: all // SMTIgnoreCex: yes // ---- +// Warning 9207: (33-43): transfer will be deprecated in the next breaking version. // Warning 6328: (258-274): CHC: Assertion violation happens here. // Info 1391: CHC: 4 verification condition(s) proved safe! Enable the model checker option "show proved safe" to see all of them. diff --git a/test/libsolidity/smtCheckerTests/blockchain_state/library_internal_2.sol b/test/libsolidity/smtCheckerTests/blockchain_state/library_internal_2.sol index 826af0bf867d..82338b39ae0a 100644 --- a/test/libsolidity/smtCheckerTests/blockchain_state/library_internal_2.sol +++ b/test/libsolidity/smtCheckerTests/blockchain_state/library_internal_2.sol @@ -22,5 +22,6 @@ contract C { // SMTEngine: all // SMTIgnoreCex: yes // ---- +// Warning 9207: (87-97): transfer will be deprecated in the next breaking version. // Warning 6328: (315-331): CHC: Assertion violation happens here. // Info 1391: CHC: 4 verification condition(s) proved safe! Enable the model checker option "show proved safe" to see all of them. diff --git a/test/libsolidity/smtCheckerTests/blockchain_state/library_public_2.sol b/test/libsolidity/smtCheckerTests/blockchain_state/library_public_2.sol index 02e29be8de9c..5c7f7c622f46 100644 --- a/test/libsolidity/smtCheckerTests/blockchain_state/library_public_2.sol +++ b/test/libsolidity/smtCheckerTests/blockchain_state/library_public_2.sol @@ -20,6 +20,7 @@ contract C { // SMTEngine: all // SMTIgnoreCex: yes // ---- +// Warning 9207: (54-64): transfer will be deprecated in the next breaking version. // Warning 4588: (238-243): Assertion checker does not yet implement this type of function call. // Warning 8656: (54-67): CHC: Insufficient funds happens here. // Warning 6328: (282-298): CHC: Assertion violation happens here. diff --git a/test/libsolidity/smtCheckerTests/blockchain_state/transfer_1.sol b/test/libsolidity/smtCheckerTests/blockchain_state/transfer_1.sol index 169257edff8a..26535dda86c8 100644 --- a/test/libsolidity/smtCheckerTests/blockchain_state/transfer_1.sol +++ b/test/libsolidity/smtCheckerTests/blockchain_state/transfer_1.sol @@ -11,5 +11,6 @@ contract C { // SMTEngine: all // SMTIgnoreCex: yes // ---- +// Warning 9207: (96-106): transfer will be deprecated in the next breaking version. // Warning 6328: (166-201): CHC: Assertion violation happens here. // Info 1391: CHC: 2 verification condition(s) proved safe! Enable the model checker option "show proved safe" to see all of them. diff --git a/test/libsolidity/smtCheckerTests/blockchain_state/transfer_2.sol b/test/libsolidity/smtCheckerTests/blockchain_state/transfer_2.sol index ed5b4c90f2cf..bf1c23bde4cb 100644 --- a/test/libsolidity/smtCheckerTests/blockchain_state/transfer_2.sol +++ b/test/libsolidity/smtCheckerTests/blockchain_state/transfer_2.sol @@ -11,4 +11,6 @@ contract C { // ==== // SMTEngine: chc // ---- +// Warning 9207: (133-151): transfer will be deprecated in the next breaking version. +// Warning 9207: (167-185): transfer will be deprecated in the next breaking version. // Info 1391: CHC: 2 verification condition(s) proved safe! Enable the model checker option "show proved safe" to see all of them. diff --git a/test/libsolidity/smtCheckerTests/blockchain_state/transfer_3.sol b/test/libsolidity/smtCheckerTests/blockchain_state/transfer_3.sol index 4b3318b6bece..787860a49fb5 100644 --- a/test/libsolidity/smtCheckerTests/blockchain_state/transfer_3.sol +++ b/test/libsolidity/smtCheckerTests/blockchain_state/transfer_3.sol @@ -8,4 +8,5 @@ contract C { // ==== // SMTEngine: all // ---- +// Warning 9207: (76-94): transfer will be deprecated in the next breaking version. // Warning 8656: (76-97): CHC: Insufficient funds happens here. diff --git a/test/libsolidity/smtCheckerTests/blockchain_state/transfer_4.sol b/test/libsolidity/smtCheckerTests/blockchain_state/transfer_4.sol index ab0c4a81efeb..34abd7fc74a5 100644 --- a/test/libsolidity/smtCheckerTests/blockchain_state/transfer_4.sol +++ b/test/libsolidity/smtCheckerTests/blockchain_state/transfer_4.sol @@ -9,4 +9,5 @@ contract C { // ==== // SMTEngine: all // ---- +// Warning 9207: (101-119): transfer will be deprecated in the next breaking version. // Info 1391: CHC: 1 verification condition(s) proved safe! Enable the model checker option "show proved safe" to see all of them. diff --git a/test/libsolidity/smtCheckerTests/bmc_coverage/funds.sol b/test/libsolidity/smtCheckerTests/bmc_coverage/funds.sol index 737443e64b91..e0c64cf33b47 100644 --- a/test/libsolidity/smtCheckerTests/bmc_coverage/funds.sol +++ b/test/libsolidity/smtCheckerTests/bmc_coverage/funds.sol @@ -6,4 +6,5 @@ contract C { // ==== // SMTEngine: bmc // ---- +// Warning 9207: (55-65): transfer will be deprecated in the next breaking version. // Warning 1236: (55-70): BMC: Insufficient funds happens here. diff --git a/test/libsolidity/smtCheckerTests/deployment/deploy_trusted_addresses.sol b/test/libsolidity/smtCheckerTests/deployment/deploy_trusted_addresses.sol index 01c68790c843..8b1d3d00c2a7 100644 --- a/test/libsolidity/smtCheckerTests/deployment/deploy_trusted_addresses.sol +++ b/test/libsolidity/smtCheckerTests/deployment/deploy_trusted_addresses.sol @@ -16,4 +16,5 @@ contract C { // SMTEngine: all // SMTExtCalls: trusted // ---- +// Warning 9170: (107-115): Comparison of variables of contract type will be deprecated in the next breaking version.Consider using an explicit cast to address type. // Info 1391: CHC: 3 verification condition(s) proved safe! Enable the model checker option "show proved safe" to see all of them. diff --git a/test/libsolidity/smtCheckerTests/deployment/deploy_untrusted_addresses.sol b/test/libsolidity/smtCheckerTests/deployment/deploy_untrusted_addresses.sol index c934e152b27c..a0bd5e95a4ec 100644 --- a/test/libsolidity/smtCheckerTests/deployment/deploy_untrusted_addresses.sol +++ b/test/libsolidity/smtCheckerTests/deployment/deploy_untrusted_addresses.sol @@ -15,6 +15,7 @@ contract C { // ==== // SMTEngine: all // ---- +// Warning 9170: (107-115): Comparison of variables of contract type will be deprecated in the next breaking version.Consider using an explicit cast to address type. // Warning 8729: (70-77): Contract deployment is only supported in the trusted mode for external calls with the CHC engine. // Warning 8729: (88-95): Contract deployment is only supported in the trusted mode for external calls with the CHC engine. // Warning 6328: (100-116): CHC: Assertion violation happens here.\nCounterexample:\n\nd1 = 0\nd2 = 0\n\nTransaction trace:\nC.constructor()\nC.f() diff --git a/test/libsolidity/smtCheckerTests/functions/getters/array_of_structs_1.sol b/test/libsolidity/smtCheckerTests/functions/getters/array_of_structs_1.sol index 209b00f5f319..23393a52df23 100644 --- a/test/libsolidity/smtCheckerTests/functions/getters/array_of_structs_1.sol +++ b/test/libsolidity/smtCheckerTests/functions/getters/array_of_structs_1.sol @@ -15,4 +15,5 @@ contract D { // ==== // SMTEngine: all // ---- +// Warning 9511: (0-19): ABI coder v1 will be deprecated in the next breaking version. // Info 1391: CHC: 1 verification condition(s) proved safe! Enable the model checker option "show proved safe" to see all of them. diff --git a/test/libsolidity/smtCheckerTests/functions/getters/array_of_structs_2.sol b/test/libsolidity/smtCheckerTests/functions/getters/array_of_structs_2.sol index b62611b5190d..d60bd895a861 100644 --- a/test/libsolidity/smtCheckerTests/functions/getters/array_of_structs_2.sol +++ b/test/libsolidity/smtCheckerTests/functions/getters/array_of_structs_2.sol @@ -20,5 +20,6 @@ contract D { // SMTEngine: all // SMTIgnoreCex: no // ---- +// Warning 9511: (0-19): ABI coder v1 will be deprecated in the next breaking version. // Warning 6328: (267-281): CHC: Assertion violation happens here.\nCounterexample:\nitems = [{x: 42, y: 43}]\na = 42\nb = 43\n\nTransaction trace:\nD.constructor()\nState: items = []\nD.test() // Info 1391: CHC: 2 verification condition(s) proved safe! Enable the model checker option "show proved safe" to see all of them. diff --git a/test/libsolidity/smtCheckerTests/functions/getters/array_of_structs_3.sol b/test/libsolidity/smtCheckerTests/functions/getters/array_of_structs_3.sol index abe50e8a5445..f3b8d9034d76 100644 --- a/test/libsolidity/smtCheckerTests/functions/getters/array_of_structs_3.sol +++ b/test/libsolidity/smtCheckerTests/functions/getters/array_of_structs_3.sol @@ -21,5 +21,6 @@ contract D { // ==== // SMTEngine: all // ---- +// Warning 9511: (0-19): ABI coder v1 will be deprecated in the next breaking version. // Warning 6328: (322-336): CHC: Assertion violation happens here. // Info 1391: CHC: 2 verification condition(s) proved safe! Enable the model checker option "show proved safe" to see all of them. diff --git a/test/libsolidity/smtCheckerTests/functions/getters/contract.sol b/test/libsolidity/smtCheckerTests/functions/getters/contract.sol index 7da893bd3644..c2b4a8f1432c 100644 --- a/test/libsolidity/smtCheckerTests/functions/getters/contract.sol +++ b/test/libsolidity/smtCheckerTests/functions/getters/contract.sol @@ -12,5 +12,6 @@ contract C { // ==== // SMTEngine: all // ---- +// Warning 9170: (97-103): Comparison of variables of contract type will be deprecated in the next breaking version.Consider using an explicit cast to address type. // Warning 6328: (123-158): CHC: Assertion violation happens here. // Info 1391: CHC: 1 verification condition(s) proved safe! Enable the model checker option "show proved safe" to see all of them. diff --git a/test/libsolidity/smtCheckerTests/functions/getters/struct_4.sol b/test/libsolidity/smtCheckerTests/functions/getters/struct_4.sol index 345959354fb4..d0fdf116e104 100644 --- a/test/libsolidity/smtCheckerTests/functions/getters/struct_4.sol +++ b/test/libsolidity/smtCheckerTests/functions/getters/struct_4.sol @@ -18,6 +18,7 @@ contract C { // ==== // SMTEngine: all // ---- +// Warning 9170: (206-214): Comparison of variables of contract type will be deprecated in the next breaking version.Consider using an explicit cast to address type. // Warning 2072: (146-183): Unused local variable. // Warning 8364: (187-193): Assertion checker does not yet implement type function () view external returns (contract D,function () external returns (uint256)) // Warning 6328: (234-269): CHC: Assertion violation happens here. diff --git a/test/libsolidity/smtCheckerTests/modifiers/modifier_abstract.sol b/test/libsolidity/smtCheckerTests/modifiers/modifier_abstract.sol index 9d541b629988..39defb9ea61b 100644 --- a/test/libsolidity/smtCheckerTests/modifiers/modifier_abstract.sol +++ b/test/libsolidity/smtCheckerTests/modifiers/modifier_abstract.sol @@ -5,3 +5,4 @@ abstract contract A { // ==== // SMTEngine: all // ---- +// Warning 8429: (51-72): Virtual modifiers will be deprecated in the next breaking version. diff --git a/test/libsolidity/smtCheckerTests/modifiers/modifier_overriding_1.sol b/test/libsolidity/smtCheckerTests/modifiers/modifier_overriding_1.sol index 9165ed13311a..073f417fe12e 100644 --- a/test/libsolidity/smtCheckerTests/modifiers/modifier_overriding_1.sol +++ b/test/libsolidity/smtCheckerTests/modifiers/modifier_overriding_1.sol @@ -20,5 +20,6 @@ contract B is A { // ==== // SMTEngine: all // ---- +// Warning 8429: (64-93): Virtual modifiers will be deprecated in the next breaking version. // Warning 6328: (209-223): CHC: Assertion violation happens here. // Info 1391: CHC: 1 verification condition(s) proved safe! Enable the model checker option "show proved safe" to see all of them. diff --git a/test/libsolidity/smtCheckerTests/modifiers/modifier_overriding_2.sol b/test/libsolidity/smtCheckerTests/modifiers/modifier_overriding_2.sol index fd9dc9008523..b8e42cdbccff 100644 --- a/test/libsolidity/smtCheckerTests/modifiers/modifier_overriding_2.sol +++ b/test/libsolidity/smtCheckerTests/modifiers/modifier_overriding_2.sol @@ -23,4 +23,6 @@ contract C is B { // ==== // SMTEngine: all // ---- +// Warning 8429: (113-136): Virtual modifiers will be deprecated in the next breaking version. +// Warning 8429: (159-213): Virtual modifiers will be deprecated in the next breaking version. // Warning 6328: (66-75): CHC: Assertion violation happens here.\nCounterexample:\ns = false\n\nTransaction trace:\nB.constructor()\nState: s = false\nA.f() diff --git a/test/libsolidity/smtCheckerTests/modifiers/modifier_overriding_3.sol b/test/libsolidity/smtCheckerTests/modifiers/modifier_overriding_3.sol index f85e1b3baec0..03d66873a7ad 100644 --- a/test/libsolidity/smtCheckerTests/modifiers/modifier_overriding_3.sol +++ b/test/libsolidity/smtCheckerTests/modifiers/modifier_overriding_3.sol @@ -18,5 +18,7 @@ contract B is A { // ==== // SMTEngine: all // ---- +// Warning 8429: (125-148): Virtual modifiers will be deprecated in the next breaking version. +// Warning 8429: (171-238): Virtual modifiers will be deprecated in the next breaking version. // Warning 6328: (94-104): CHC: Assertion violation happens here. // Info 1391: CHC: 1 verification condition(s) proved safe! Enable the model checker option "show proved safe" to see all of them. diff --git a/test/libsolidity/smtCheckerTests/modifiers/modifier_overriding_4.sol b/test/libsolidity/smtCheckerTests/modifiers/modifier_overriding_4.sol index d0e82665ccfc..f4030af09969 100644 --- a/test/libsolidity/smtCheckerTests/modifiers/modifier_overriding_4.sol +++ b/test/libsolidity/smtCheckerTests/modifiers/modifier_overriding_4.sol @@ -36,6 +36,10 @@ contract D is B,C { // ==== // SMTEngine: all // ---- +// Warning 8429: (262-294): Virtual modifiers will be deprecated in the next breaking version. +// Warning 8429: (317-367): Virtual modifiers will be deprecated in the next breaking version. +// Warning 8429: (390-440): Virtual modifiers will be deprecated in the next breaking version. +// Warning 8429: (465-520): Virtual modifiers will be deprecated in the next breaking version. // Warning 6328: (160-174): CHC: Assertion violation happens here.\nCounterexample:\nx = 1\n\nTransaction trace:\nB.constructor()\nState: x = 0\nA.f() // Warning 6328: (193-207): CHC: Assertion violation happens here.\nCounterexample:\nx = 2\n\nTransaction trace:\nC.constructor()\nState: x = 0\nA.f() // Warning 6328: (226-240): CHC: Assertion violation happens here.\nCounterexample:\nx = 3\n\nTransaction trace:\nD.constructor()\nState: x = 0\nA.f() diff --git a/test/libsolidity/smtCheckerTests/modifiers/modifier_virtual_static_call_1.sol b/test/libsolidity/smtCheckerTests/modifiers/modifier_virtual_static_call_1.sol index 40bc6d93ebbd..bd312aa50628 100644 --- a/test/libsolidity/smtCheckerTests/modifiers/modifier_virtual_static_call_1.sol +++ b/test/libsolidity/smtCheckerTests/modifiers/modifier_virtual_static_call_1.sol @@ -10,3 +10,4 @@ contract C is A { // ==== // SMTEngine: all // ---- +// Warning 8429: (17-52): Virtual modifiers will be deprecated in the next breaking version. diff --git a/test/libsolidity/smtCheckerTests/modifiers/modifier_virtual_static_call_2.sol b/test/libsolidity/smtCheckerTests/modifiers/modifier_virtual_static_call_2.sol index b270fb2bb5e1..1836f5c8d7fd 100644 --- a/test/libsolidity/smtCheckerTests/modifiers/modifier_virtual_static_call_2.sol +++ b/test/libsolidity/smtCheckerTests/modifiers/modifier_virtual_static_call_2.sol @@ -20,5 +20,6 @@ contract C is A { // ==== // SMTEngine: all // ---- +// Warning 8429: (27-122): Virtual modifiers will be deprecated in the next breaking version. // Warning 6328: (83-98): CHC: Assertion violation happens here. // Info 1391: CHC: 1 verification condition(s) proved safe! Enable the model checker option "show proved safe" to see all of them. diff --git a/test/libsolidity/smtCheckerTests/types/address_transfer.sol b/test/libsolidity/smtCheckerTests/types/address_transfer.sol index 1430e15cb8e7..6396e2c26f78 100644 --- a/test/libsolidity/smtCheckerTests/types/address_transfer.sol +++ b/test/libsolidity/smtCheckerTests/types/address_transfer.sol @@ -11,5 +11,6 @@ contract C // ==== // SMTEngine: all // ---- +// Warning 9207: (98-108): transfer will be deprecated in the next breaking version. // Warning 8656: (98-113): CHC: Insufficient funds happens here. // Warning 6328: (162-186): CHC: Assertion violation happens here. diff --git a/test/libsolidity/smtCheckerTests/types/address_transfer_2.sol b/test/libsolidity/smtCheckerTests/types/address_transfer_2.sol index ce6492d9e57a..d98daf1eb5c5 100644 --- a/test/libsolidity/smtCheckerTests/types/address_transfer_2.sol +++ b/test/libsolidity/smtCheckerTests/types/address_transfer_2.sol @@ -15,6 +15,8 @@ contract C // SMTEngine: all // SMTIgnoreCex: yes // ---- +// Warning 9207: (184-194): transfer will be deprecated in the next breaking version. +// Warning 9207: (203-213): transfer will be deprecated in the next breaking version. // Warning 8656: (184-199): CHC: Insufficient funds happens here. // Warning 8656: (203-218): CHC: Insufficient funds happens here. // Warning 6328: (262-291): CHC: Assertion violation happens here. diff --git a/test/libsolidity/smtCheckerTests/types/address_transfer_3.sol b/test/libsolidity/smtCheckerTests/types/address_transfer_3.sol index 3f9cc22c7bd6..fc532d2b44b9 100644 --- a/test/libsolidity/smtCheckerTests/types/address_transfer_3.sol +++ b/test/libsolidity/smtCheckerTests/types/address_transfer_3.sol @@ -13,4 +13,5 @@ contract C // ==== // SMTEngine: all // ---- +// Warning 9207: (126-136): transfer will be deprecated in the next breaking version. // Info 1391: CHC: 2 verification condition(s) proved safe! Enable the model checker option "show proved safe" to see all of them. diff --git a/test/libsolidity/smtCheckerTests/types/address_transfer_insufficient.sol b/test/libsolidity/smtCheckerTests/types/address_transfer_insufficient.sol index 55a96026ee51..51e251d12a15 100644 --- a/test/libsolidity/smtCheckerTests/types/address_transfer_insufficient.sol +++ b/test/libsolidity/smtCheckerTests/types/address_transfer_insufficient.sol @@ -12,6 +12,8 @@ contract C // SMTEngine: all // SMTIgnoreCex: yes // ---- +// Warning 9207: (101-111): transfer will be deprecated in the next breaking version. +// Warning 9207: (120-130): transfer will be deprecated in the next breaking version. // Warning 8656: (101-116): CHC: Insufficient funds happens here. // Warning 8656: (120-136): CHC: Insufficient funds happens here. // Warning 6328: (180-204): CHC: Assertion violation happens here. diff --git a/test/libsolidity/smtCheckerTests/types/contract.sol b/test/libsolidity/smtCheckerTests/types/contract.sol index 0ddc3e6503c0..117bd26d8714 100644 --- a/test/libsolidity/smtCheckerTests/types/contract.sol +++ b/test/libsolidity/smtCheckerTests/types/contract.sol @@ -8,4 +8,5 @@ contract C // SMTEngine: all // SMTIgnoreCex: yes // ---- +// Warning 9170: (58-64): Comparison of variables of contract type will be deprecated in the next breaking version.Consider using an explicit cast to address type. // Warning 6328: (51-65): CHC: Assertion violation happens here. diff --git a/test/libsolidity/smtCheckerTests/types/contract_2.sol b/test/libsolidity/smtCheckerTests/types/contract_2.sol index 2357852d5663..a3d9417e09e3 100644 --- a/test/libsolidity/smtCheckerTests/types/contract_2.sol +++ b/test/libsolidity/smtCheckerTests/types/contract_2.sol @@ -13,4 +13,5 @@ contract C // SMTEngine: all // SMTIgnoreCex: yes // ---- +// Warning 9170: (83-89): Comparison of variables of contract type will be deprecated in the next breaking version.Consider using an explicit cast to address type. // Warning 6328: (76-90): CHC: Assertion violation happens here. diff --git a/test/libsolidity/smtCheckerTests/types/contract_3.sol b/test/libsolidity/smtCheckerTests/types/contract_3.sol index 657999c0b7fc..ee6f7395d0dc 100644 --- a/test/libsolidity/smtCheckerTests/types/contract_3.sol +++ b/test/libsolidity/smtCheckerTests/types/contract_3.sol @@ -9,4 +9,7 @@ contract C // ==== // SMTEngine: all // ---- +// Warning 9170: (64-70): Comparison of variables of contract type will be deprecated in the next breaking version.Consider using an explicit cast to address type. +// Warning 9170: (83-89): Comparison of variables of contract type will be deprecated in the next breaking version.Consider using an explicit cast to address type. +// Warning 9170: (101-107): Comparison of variables of contract type will be deprecated in the next breaking version.Consider using an explicit cast to address type. // Info 1391: CHC: 1 verification condition(s) proved safe! Enable the model checker option "show proved safe" to see all of them. diff --git a/test/libsolidity/smtCheckerTests/types/contract_address_conversion_2.sol b/test/libsolidity/smtCheckerTests/types/contract_address_conversion_2.sol index 0b395c1877c5..baa23e243c89 100644 --- a/test/libsolidity/smtCheckerTests/types/contract_address_conversion_2.sol +++ b/test/libsolidity/smtCheckerTests/types/contract_address_conversion_2.sol @@ -10,4 +10,5 @@ contract C // ==== // SMTEngine: all // ---- +// Warning 9170: (121-127): Comparison of variables of contract type will be deprecated in the next breaking version.Consider using an explicit cast to address type. // Info 1391: CHC: 2 verification condition(s) proved safe! Enable the model checker option "show proved safe" to see all of them. diff --git a/test/libsolidity/syntaxTests/abiEncoder/conflicting_settings.sol b/test/libsolidity/syntaxTests/abiEncoder/conflicting_settings.sol index da81a3bc6682..efde656e00b5 100644 --- a/test/libsolidity/syntaxTests/abiEncoder/conflicting_settings.sol +++ b/test/libsolidity/syntaxTests/abiEncoder/conflicting_settings.sol @@ -2,3 +2,4 @@ pragma abicoder v2; pragma abicoder v1; // ---- // SyntaxError 3845: (34-53): ABI coder has already been selected for this source unit. +// Warning 9511: (34-53): ABI coder v1 will be deprecated in the next breaking version. diff --git a/test/libsolidity/syntaxTests/abiEncoder/conflicting_settings_reverse.sol b/test/libsolidity/syntaxTests/abiEncoder/conflicting_settings_reverse.sol index f06b2458c36d..637e7ead4599 100644 --- a/test/libsolidity/syntaxTests/abiEncoder/conflicting_settings_reverse.sol +++ b/test/libsolidity/syntaxTests/abiEncoder/conflicting_settings_reverse.sol @@ -1,4 +1,5 @@ pragma abicoder v1; pragma abicoder v2; // ---- +// Warning 9511: (0-19): ABI coder v1 will be deprecated in the next breaking version. // SyntaxError 3845: (20-39): ABI coder has already been selected for this source unit. diff --git a/test/libsolidity/syntaxTests/abiEncoder/conflicting_settings_reverse_experimental.sol b/test/libsolidity/syntaxTests/abiEncoder/conflicting_settings_reverse_experimental.sol index 855378e9ef60..1c0d12519509 100644 --- a/test/libsolidity/syntaxTests/abiEncoder/conflicting_settings_reverse_experimental.sol +++ b/test/libsolidity/syntaxTests/abiEncoder/conflicting_settings_reverse_experimental.sol @@ -1,4 +1,5 @@ pragma abicoder v1; pragma experimental ABIEncoderV2; // ---- +// Warning 9511: (0-19): ABI coder v1 will be deprecated in the next breaking version. // SyntaxError 8273: (20-53): ABI coder v1 has already been selected through "pragma abicoder v1". diff --git a/test/libsolidity/syntaxTests/abiEncoder/select_v1.sol b/test/libsolidity/syntaxTests/abiEncoder/select_v1.sol index 1beb5f0ec7a6..7bd8e536c955 100644 --- a/test/libsolidity/syntaxTests/abiEncoder/select_v1.sol +++ b/test/libsolidity/syntaxTests/abiEncoder/select_v1.sol @@ -1,2 +1,3 @@ pragma abicoder v1; // ---- +// Warning 9511: (0-19): ABI coder v1 will be deprecated in the next breaking version. diff --git a/test/libsolidity/syntaxTests/abiEncoder/select_v1_quoted_string.sol b/test/libsolidity/syntaxTests/abiEncoder/select_v1_quoted_string.sol index a6c26efdc7e9..f9da8ad1c17c 100644 --- a/test/libsolidity/syntaxTests/abiEncoder/select_v1_quoted_string.sol +++ b/test/libsolidity/syntaxTests/abiEncoder/select_v1_quoted_string.sol @@ -1,2 +1,3 @@ pragma abicoder "v1"; // ---- +// Warning 9511: (0-21): ABI coder v1 will be deprecated in the next breaking version. diff --git a/test/libsolidity/syntaxTests/abiEncoder/selected_twice.sol b/test/libsolidity/syntaxTests/abiEncoder/selected_twice.sol index 424c2c7f2b89..63c9e4d29780 100644 --- a/test/libsolidity/syntaxTests/abiEncoder/selected_twice.sol +++ b/test/libsolidity/syntaxTests/abiEncoder/selected_twice.sol @@ -1,4 +1,6 @@ pragma abicoder v1; pragma abicoder v1; // ---- +// Warning 9511: (0-19): ABI coder v1 will be deprecated in the next breaking version. // SyntaxError 3845: (20-39): ABI coder has already been selected for this source unit. +// Warning 9511: (20-39): ABI coder v1 will be deprecated in the next breaking version. diff --git a/test/libsolidity/syntaxTests/abiEncoder/v1_accessing_public_state_variable_via_v1_type.sol b/test/libsolidity/syntaxTests/abiEncoder/v1_accessing_public_state_variable_via_v1_type.sol index 036a2597616c..078b74655240 100644 --- a/test/libsolidity/syntaxTests/abiEncoder/v1_accessing_public_state_variable_via_v1_type.sol +++ b/test/libsolidity/syntaxTests/abiEncoder/v1_accessing_public_state_variable_via_v1_type.sol @@ -16,3 +16,4 @@ contract D { // ==== // bytecodeFormat: legacy // ---- +// Warning 9511: (0-19): ABI coder v1 will be deprecated in the next breaking version. diff --git a/test/libsolidity/syntaxTests/abiEncoder/v1_accessing_public_state_variable_via_v2_type.sol b/test/libsolidity/syntaxTests/abiEncoder/v1_accessing_public_state_variable_via_v2_type.sol index feaf895e17ee..fdfd9fedef6a 100644 --- a/test/libsolidity/syntaxTests/abiEncoder/v1_accessing_public_state_variable_via_v2_type.sol +++ b/test/libsolidity/syntaxTests/abiEncoder/v1_accessing_public_state_variable_via_v2_type.sol @@ -14,5 +14,6 @@ contract D { } } // ---- +// Warning 9511: (0-19): ABI coder v1 will be deprecated in the next breaking version. // TypeError 7364: (222-260): Different number of components on the left hand side (1) than on the right hand side (2). // TypeError 9574: (222-260): Type uint256 is not implicitly convertible to expected type struct Item memory. diff --git a/test/libsolidity/syntaxTests/abiEncoder/v1_call_to_v1_library_function_accepting_storage_struct.sol b/test/libsolidity/syntaxTests/abiEncoder/v1_call_to_v1_library_function_accepting_storage_struct.sol index 03fb9bae673b..1882c86ec1f2 100644 --- a/test/libsolidity/syntaxTests/abiEncoder/v1_call_to_v1_library_function_accepting_storage_struct.sol +++ b/test/libsolidity/syntaxTests/abiEncoder/v1_call_to_v1_library_function_accepting_storage_struct.sol @@ -22,3 +22,4 @@ contract Test { // ==== // bytecodeFormat: legacy // ---- +// Warning 9511: (B:0-19): ABI coder v1 will be deprecated in the next breaking version. diff --git a/test/libsolidity/syntaxTests/abiEncoder/v1_call_to_v2_constructor_accepting_struct.sol b/test/libsolidity/syntaxTests/abiEncoder/v1_call_to_v2_constructor_accepting_struct.sol index 3ee6f75a17b9..ae5c02d3e5d0 100644 --- a/test/libsolidity/syntaxTests/abiEncoder/v1_call_to_v2_constructor_accepting_struct.sol +++ b/test/libsolidity/syntaxTests/abiEncoder/v1_call_to_v2_constructor_accepting_struct.sol @@ -18,4 +18,5 @@ contract Test { } } // ---- +// Warning 9511: (B:0-19): ABI coder v1 will be deprecated in the next breaking version. // TypeError 2443: (B:91-100): The type of this parameter, struct C.Item memory, is only supported in ABI coder v2. Use "pragma abicoder v2;" to enable the feature. diff --git a/test/libsolidity/syntaxTests/abiEncoder/v1_call_to_v2_contract_function_accepting_struct_via_named_argument.sol b/test/libsolidity/syntaxTests/abiEncoder/v1_call_to_v2_contract_function_accepting_struct_via_named_argument.sol index c02faba189bc..55897f49f217 100644 --- a/test/libsolidity/syntaxTests/abiEncoder/v1_call_to_v2_contract_function_accepting_struct_via_named_argument.sol +++ b/test/libsolidity/syntaxTests/abiEncoder/v1_call_to_v2_contract_function_accepting_struct_via_named_argument.sol @@ -18,4 +18,5 @@ contract Test { } } // ---- +// Warning 9511: (B:0-19): ABI coder v1 will be deprecated in the next breaking version. // TypeError 2443: (B:119-129): The type of this parameter, struct C.Item memory, is only supported in ABI coder v2. Use "pragma abicoder v2;" to enable the feature. diff --git a/test/libsolidity/syntaxTests/abiEncoder/v1_call_to_v2_contract_function_pointer_accepting_struct.sol b/test/libsolidity/syntaxTests/abiEncoder/v1_call_to_v2_contract_function_pointer_accepting_struct.sol index 674ce4e32a8c..2fcbaa8aeec0 100644 --- a/test/libsolidity/syntaxTests/abiEncoder/v1_call_to_v2_contract_function_pointer_accepting_struct.sol +++ b/test/libsolidity/syntaxTests/abiEncoder/v1_call_to_v2_contract_function_pointer_accepting_struct.sol @@ -20,4 +20,5 @@ contract Test { } } // ---- +// Warning 9511: (B:0-19): ABI coder v1 will be deprecated in the next breaking version. // TypeError 2443: (B:166-175): The type of this parameter, struct C.Item memory, is only supported in ABI coder v2. Use "pragma abicoder v2;" to enable the feature. diff --git a/test/libsolidity/syntaxTests/abiEncoder/v1_call_to_v2_contract_function_returning_dynamic_string_array.sol b/test/libsolidity/syntaxTests/abiEncoder/v1_call_to_v2_contract_function_returning_dynamic_string_array.sol index 5379bdb50356..feaae993bbe9 100644 --- a/test/libsolidity/syntaxTests/abiEncoder/v1_call_to_v2_contract_function_returning_dynamic_string_array.sol +++ b/test/libsolidity/syntaxTests/abiEncoder/v1_call_to_v2_contract_function_returning_dynamic_string_array.sol @@ -14,4 +14,5 @@ contract D { } } // ---- +// Warning 9511: (B:0-19): ABI coder v1 will be deprecated in the next breaking version. // TypeError 2428: (B:85-105): The type of return parameter 1, string[] memory, is only supported in ABI coder v2. Use "pragma abicoder v2;" to enable the feature. diff --git a/test/libsolidity/syntaxTests/abiEncoder/v1_call_to_v2_contract_function_returning_struct.sol b/test/libsolidity/syntaxTests/abiEncoder/v1_call_to_v2_contract_function_returning_struct.sol index d2b0e1ffe256..26afd83a7d2f 100644 --- a/test/libsolidity/syntaxTests/abiEncoder/v1_call_to_v2_contract_function_returning_struct.sol +++ b/test/libsolidity/syntaxTests/abiEncoder/v1_call_to_v2_contract_function_returning_struct.sol @@ -18,4 +18,5 @@ contract Test { } } // ---- +// Warning 9511: (B:0-19): ABI coder v1 will be deprecated in the next breaking version. // TypeError 2428: (B:90-112): The type of return parameter 1, struct C.Item memory, is only supported in ABI coder v2. Use "pragma abicoder v2;" to enable the feature. diff --git a/test/libsolidity/syntaxTests/abiEncoder/v1_call_to_v2_contract_function_returning_struct_with_dynamic_array.sol b/test/libsolidity/syntaxTests/abiEncoder/v1_call_to_v2_contract_function_returning_struct_with_dynamic_array.sol index 0aa9973aa702..299770b9c03e 100644 --- a/test/libsolidity/syntaxTests/abiEncoder/v1_call_to_v2_contract_function_returning_struct_with_dynamic_array.sol +++ b/test/libsolidity/syntaxTests/abiEncoder/v1_call_to_v2_contract_function_returning_struct_with_dynamic_array.sol @@ -18,4 +18,5 @@ contract Test { } } // ---- +// Warning 9511: (B:0-19): ABI coder v1 will be deprecated in the next breaking version. // TypeError 2428: (B:90-112): The type of return parameter 1, struct C.Item memory, is only supported in ABI coder v2. Use "pragma abicoder v2;" to enable the feature. diff --git a/test/libsolidity/syntaxTests/abiEncoder/v1_call_to_v2_event_accepting_struct.sol b/test/libsolidity/syntaxTests/abiEncoder/v1_call_to_v2_event_accepting_struct.sol index e868418683e8..169b8fea5e9a 100644 --- a/test/libsolidity/syntaxTests/abiEncoder/v1_call_to_v2_event_accepting_struct.sol +++ b/test/libsolidity/syntaxTests/abiEncoder/v1_call_to_v2_event_accepting_struct.sol @@ -17,4 +17,5 @@ contract Test { } } // ---- +// Warning 9511: (B:0-19): ABI coder v1 will be deprecated in the next breaking version. // TypeError 2443: (B:94-104): The type of this parameter, struct L.Item memory, is only supported in ABI coder v2. Use "pragma abicoder v2;" to enable the feature. diff --git a/test/libsolidity/syntaxTests/abiEncoder/v1_call_to_v2_library_attached_function_returning_struct.sol b/test/libsolidity/syntaxTests/abiEncoder/v1_call_to_v2_library_attached_function_returning_struct.sol index bb3651d4f8b2..eabfe7b94975 100644 --- a/test/libsolidity/syntaxTests/abiEncoder/v1_call_to_v2_library_attached_function_returning_struct.sol +++ b/test/libsolidity/syntaxTests/abiEncoder/v1_call_to_v2_library_attached_function_returning_struct.sol @@ -20,4 +20,5 @@ contract D { } } // ---- +// Warning 9511: (B:0-19): ABI coder v1 will be deprecated in the next breaking version. // TypeError 2428: (B:106-117): The type of return parameter 1, struct L.Item memory, is only supported in ABI coder v2. Use "pragma abicoder v2;" to enable the feature. diff --git a/test/libsolidity/syntaxTests/abiEncoder/v1_call_to_v2_library_function_accepting_storage_struct.sol b/test/libsolidity/syntaxTests/abiEncoder/v1_call_to_v2_library_function_accepting_storage_struct.sol index 01d9658ce2cf..d4abab8e5ffc 100644 --- a/test/libsolidity/syntaxTests/abiEncoder/v1_call_to_v2_library_function_accepting_storage_struct.sol +++ b/test/libsolidity/syntaxTests/abiEncoder/v1_call_to_v2_library_function_accepting_storage_struct.sol @@ -22,3 +22,4 @@ contract Test { // ==== // bytecodeFormat: legacy // ---- +// Warning 9511: (B:0-19): ABI coder v1 will be deprecated in the next breaking version. diff --git a/test/libsolidity/syntaxTests/abiEncoder/v1_call_to_v2_library_function_returning_struct.sol b/test/libsolidity/syntaxTests/abiEncoder/v1_call_to_v2_library_function_returning_struct.sol index c6ba7522596b..532047ee83a9 100644 --- a/test/libsolidity/syntaxTests/abiEncoder/v1_call_to_v2_library_function_returning_struct.sol +++ b/test/libsolidity/syntaxTests/abiEncoder/v1_call_to_v2_library_function_returning_struct.sol @@ -18,4 +18,5 @@ contract Test { } } // ---- +// Warning 9511: (B:0-19): ABI coder v1 will be deprecated in the next breaking version. // TypeError 2428: (B:90-97): The type of return parameter 1, struct L.Item memory, is only supported in ABI coder v2. Use "pragma abicoder v2;" to enable the feature. diff --git a/test/libsolidity/syntaxTests/abiEncoder/v1_call_to_v2_modifier.sol b/test/libsolidity/syntaxTests/abiEncoder/v1_call_to_v2_modifier.sol index ef066593c4bc..49ecacb9eaeb 100644 --- a/test/libsolidity/syntaxTests/abiEncoder/v1_call_to_v2_modifier.sol +++ b/test/libsolidity/syntaxTests/abiEncoder/v1_call_to_v2_modifier.sol @@ -28,3 +28,4 @@ contract C is B { // ==== // bytecodeFormat: legacy // ---- +// Warning 9511: (B:0-19): ABI coder v1 will be deprecated in the next breaking version. diff --git a/test/libsolidity/syntaxTests/abiEncoder/v1_constructor_with_v2_modifier.sol b/test/libsolidity/syntaxTests/abiEncoder/v1_constructor_with_v2_modifier.sol index b937d1e2d1a2..56f5b33502a3 100644 --- a/test/libsolidity/syntaxTests/abiEncoder/v1_constructor_with_v2_modifier.sol +++ b/test/libsolidity/syntaxTests/abiEncoder/v1_constructor_with_v2_modifier.sol @@ -35,3 +35,5 @@ contract D is C { // ==== // bytecodeFormat: legacy // ---- +// Warning 9511: (B:0-19): ABI coder v1 will be deprecated in the next breaking version. +// Warning 9511: (C:0-19): ABI coder v1 will be deprecated in the next breaking version. diff --git a/test/libsolidity/syntaxTests/abiEncoder/v1_inheritance_from_contract_calling_v2_function.sol b/test/libsolidity/syntaxTests/abiEncoder/v1_inheritance_from_contract_calling_v2_function.sol index 9743d5318ca0..1ff314e71400 100644 --- a/test/libsolidity/syntaxTests/abiEncoder/v1_inheritance_from_contract_calling_v2_function.sol +++ b/test/libsolidity/syntaxTests/abiEncoder/v1_inheritance_from_contract_calling_v2_function.sol @@ -26,3 +26,4 @@ contract C is B {} // ==== // bytecodeFormat: legacy // ---- +// Warning 9511: (B:0-19): ABI coder v1 will be deprecated in the next breaking version. diff --git a/test/libsolidity/syntaxTests/abiEncoder/v1_inheritance_from_contract_defining_v2_event.sol b/test/libsolidity/syntaxTests/abiEncoder/v1_inheritance_from_contract_defining_v2_event.sol index e4492a4ef742..096d54425721 100644 --- a/test/libsolidity/syntaxTests/abiEncoder/v1_inheritance_from_contract_defining_v2_event.sol +++ b/test/libsolidity/syntaxTests/abiEncoder/v1_inheritance_from_contract_defining_v2_event.sol @@ -16,3 +16,4 @@ contract D is C {} // ==== // bytecodeFormat: legacy // ---- +// Warning 9511: (B:0-19): ABI coder v1 will be deprecated in the next breaking version. diff --git a/test/libsolidity/syntaxTests/abiEncoder/v1_inheritance_from_contract_defining_v2_function_accepting_struct.sol b/test/libsolidity/syntaxTests/abiEncoder/v1_inheritance_from_contract_defining_v2_function_accepting_struct.sol index c37bad41c274..0ae60e7d5df3 100644 --- a/test/libsolidity/syntaxTests/abiEncoder/v1_inheritance_from_contract_defining_v2_function_accepting_struct.sol +++ b/test/libsolidity/syntaxTests/abiEncoder/v1_inheritance_from_contract_defining_v2_function_accepting_struct.sol @@ -14,4 +14,5 @@ import "A"; contract D is C {} // ---- +// Warning 9511: (B:0-19): ABI coder v1 will be deprecated in the next breaking version. // TypeError 6594: (B:33-51): Contract "D" does not use ABI coder v2 but wants to inherit from a contract which uses types that require it. Use "pragma abicoder v2;" for the inheriting contract as well to enable the feature. diff --git a/test/libsolidity/syntaxTests/abiEncoder/v1_inheritance_from_contract_defining_v2_function_returning_struct.sol b/test/libsolidity/syntaxTests/abiEncoder/v1_inheritance_from_contract_defining_v2_function_returning_struct.sol index f25754246930..0449f62235e1 100644 --- a/test/libsolidity/syntaxTests/abiEncoder/v1_inheritance_from_contract_defining_v2_function_returning_struct.sol +++ b/test/libsolidity/syntaxTests/abiEncoder/v1_inheritance_from_contract_defining_v2_function_returning_struct.sol @@ -14,4 +14,5 @@ import "A"; contract D is C {} // ---- +// Warning 9511: (B:0-19): ABI coder v1 will be deprecated in the next breaking version. // TypeError 6594: (B:33-51): Contract "D" does not use ABI coder v2 but wants to inherit from a contract which uses types that require it. Use "pragma abicoder v2;" for the inheriting contract as well to enable the feature. diff --git a/test/libsolidity/syntaxTests/abiEncoder/v1_inheritance_from_contract_emitting_v2_event.sol b/test/libsolidity/syntaxTests/abiEncoder/v1_inheritance_from_contract_emitting_v2_event.sol index 5ae4cb0ed836..a57445d22fdb 100644 --- a/test/libsolidity/syntaxTests/abiEncoder/v1_inheritance_from_contract_emitting_v2_event.sol +++ b/test/libsolidity/syntaxTests/abiEncoder/v1_inheritance_from_contract_emitting_v2_event.sol @@ -22,3 +22,4 @@ contract D is C {} // ==== // bytecodeFormat: legacy // ---- +// Warning 9511: (B:0-19): ABI coder v1 will be deprecated in the next breaking version. diff --git a/test/libsolidity/syntaxTests/abiEncoder/v1_modifier_overriding_v2_modifier.sol b/test/libsolidity/syntaxTests/abiEncoder/v1_modifier_overriding_v2_modifier.sol index 9a809b50a2fe..fd4e8bfcc860 100644 --- a/test/libsolidity/syntaxTests/abiEncoder/v1_modifier_overriding_v2_modifier.sol +++ b/test/libsolidity/syntaxTests/abiEncoder/v1_modifier_overriding_v2_modifier.sol @@ -30,3 +30,5 @@ contract C is B { // ==== // bytecodeFormat: legacy // ---- +// Warning 8429: (A:156-234): Virtual modifiers will be deprecated in the next breaking version. +// Warning 9511: (B:0-19): ABI coder v1 will be deprecated in the next breaking version. diff --git a/test/libsolidity/syntaxTests/abiEncoder/v1_v2_v1_modifier_mix.sol b/test/libsolidity/syntaxTests/abiEncoder/v1_v2_v1_modifier_mix.sol index 6665c42efd49..f30e6c23d71a 100644 --- a/test/libsolidity/syntaxTests/abiEncoder/v1_v2_v1_modifier_mix.sol +++ b/test/libsolidity/syntaxTests/abiEncoder/v1_v2_v1_modifier_mix.sol @@ -55,3 +55,6 @@ contract X { // ==== // bytecodeFormat: legacy // ---- +// Warning 9511: (V1A:0-19): ABI coder v1 will be deprecated in the next breaking version. +// Warning 9511: (V1B:0-19): ABI coder v1 will be deprecated in the next breaking version. +// Warning 9511: (C:0-19): ABI coder v1 will be deprecated in the next breaking version. diff --git a/test/libsolidity/syntaxTests/abiEncoder/v2_v1_v1_modifier_sandwich.sol b/test/libsolidity/syntaxTests/abiEncoder/v2_v1_v1_modifier_sandwich.sol index 45fed616c08e..bd89b1b82d20 100644 --- a/test/libsolidity/syntaxTests/abiEncoder/v2_v1_v1_modifier_sandwich.sol +++ b/test/libsolidity/syntaxTests/abiEncoder/v2_v1_v1_modifier_sandwich.sol @@ -29,4 +29,6 @@ contract C is B { {} } // ---- +// Warning 9511: (B:0-19): ABI coder v1 will be deprecated in the next breaking version. +// Warning 9511: (C:0-19): ABI coder v1 will be deprecated in the next breaking version. // TypeError 2428: (B:80-102): The type of return parameter 1, struct Data memory, is only supported in ABI coder v2. Use "pragma abicoder v2;" to enable the feature. diff --git a/test/libsolidity/syntaxTests/abiEncoder/v2_v1_v2_modifier_sandwich.sol b/test/libsolidity/syntaxTests/abiEncoder/v2_v1_v2_modifier_sandwich.sol index 5bc10f53eddb..ec48d913dadf 100644 --- a/test/libsolidity/syntaxTests/abiEncoder/v2_v1_v2_modifier_sandwich.sol +++ b/test/libsolidity/syntaxTests/abiEncoder/v2_v1_v2_modifier_sandwich.sol @@ -30,4 +30,5 @@ contract C is B { {} } // ---- +// Warning 9511: (B:0-19): ABI coder v1 will be deprecated in the next breaking version. // TypeError 2428: (B:80-102): The type of return parameter 1, struct Data memory, is only supported in ABI coder v2. Use "pragma abicoder v2;" to enable the feature. diff --git a/test/libsolidity/syntaxTests/array/calldata_multi_dynamic_V1.sol b/test/libsolidity/syntaxTests/array/calldata_multi_dynamic_V1.sol index 754270ecf449..79f014c865e2 100644 --- a/test/libsolidity/syntaxTests/array/calldata_multi_dynamic_V1.sol +++ b/test/libsolidity/syntaxTests/array/calldata_multi_dynamic_V1.sol @@ -4,5 +4,6 @@ contract Test { function g(uint[][1] calldata) external { } } // ---- +// Warning 9511: (0-19): ABI coder v1 will be deprecated in the next breaking version. // TypeError 4957: (51-68): This type is only supported in ABI coder v2. Use "pragma abicoder v2;" to enable the feature. // TypeError 4957: (98-116): This type is only supported in ABI coder v2. Use "pragma abicoder v2;" to enable the feature. diff --git a/test/libsolidity/syntaxTests/constructor/nonabiv2_type.sol b/test/libsolidity/syntaxTests/constructor/nonabiv2_type.sol index 8e0c323b8c33..c527cb6d39c9 100644 --- a/test/libsolidity/syntaxTests/constructor/nonabiv2_type.sol +++ b/test/libsolidity/syntaxTests/constructor/nonabiv2_type.sol @@ -3,4 +3,5 @@ contract C { constructor(uint[][][] memory t) {} } // ---- +// Warning 9511: (0-19): ABI coder v1 will be deprecated in the next breaking version. // TypeError 4957: (46-65): This type is only supported in ABI coder v2. Use "pragma abicoder v2;" to enable the feature. Alternatively, make the contract abstract and supply the constructor arguments from a derived contract. diff --git a/test/libsolidity/syntaxTests/constructor/nonabiv2_type_abstract.sol b/test/libsolidity/syntaxTests/constructor/nonabiv2_type_abstract.sol index ca52859ff928..25b712a5332d 100644 --- a/test/libsolidity/syntaxTests/constructor/nonabiv2_type_abstract.sol +++ b/test/libsolidity/syntaxTests/constructor/nonabiv2_type_abstract.sol @@ -5,3 +5,4 @@ abstract contract C { // ==== // bytecodeFormat: legacy // ---- +// Warning 9511: (0-19): ABI coder v1 will be deprecated in the next breaking version. diff --git a/test/libsolidity/syntaxTests/controlFlow/modifiers/implemented_without_placeholder.sol b/test/libsolidity/syntaxTests/controlFlow/modifiers/implemented_without_placeholder.sol index 08b4ef12efc0..d50937bc71b0 100644 --- a/test/libsolidity/syntaxTests/controlFlow/modifiers/implemented_without_placeholder.sol +++ b/test/libsolidity/syntaxTests/controlFlow/modifiers/implemented_without_placeholder.sol @@ -6,3 +6,4 @@ abstract contract A { } // ---- // SyntaxError 2883: (129-132): Modifier body does not contain '_'. +// Warning 8429: (106-132): Virtual modifiers will be deprecated in the next breaking version. diff --git a/test/libsolidity/syntaxTests/controlFlow/modifiers/modifier_different_functions.sol b/test/libsolidity/syntaxTests/controlFlow/modifiers/modifier_different_functions.sol index 63d9153692c2..31a3a23060d1 100644 --- a/test/libsolidity/syntaxTests/controlFlow/modifiers/modifier_different_functions.sol +++ b/test/libsolidity/syntaxTests/controlFlow/modifiers/modifier_different_functions.sol @@ -9,4 +9,5 @@ contract A { } } // ---- +// Warning 8429: (140-172): Virtual modifiers will be deprecated in the next breaking version. // TypeError 3464: (118-132): This variable is of storage pointer type and can be returned without prior assignment, which would lead to undefined behaviour. diff --git a/test/libsolidity/syntaxTests/controlFlow/modifiers/modifier_override.sol b/test/libsolidity/syntaxTests/controlFlow/modifiers/modifier_override.sol index 3c5eb80ee439..68f20f8e1f7c 100644 --- a/test/libsolidity/syntaxTests/controlFlow/modifiers/modifier_override.sol +++ b/test/libsolidity/syntaxTests/controlFlow/modifiers/modifier_override.sol @@ -13,5 +13,6 @@ contract B is A { } } // ---- +// Warning 8429: (71-115): Virtual modifiers will be deprecated in the next breaking version. // Warning 5740: (65-69): Unreachable code. // TypeError 3464: (49-63): This variable is of storage pointer type and can be returned without prior assignment, which would lead to undefined behaviour. diff --git a/test/libsolidity/syntaxTests/controlFlow/modifiers/non_implemented_modifier.sol b/test/libsolidity/syntaxTests/controlFlow/modifiers/non_implemented_modifier.sol index 61aede05eb5a..7dc931525908 100644 --- a/test/libsolidity/syntaxTests/controlFlow/modifiers/non_implemented_modifier.sol +++ b/test/libsolidity/syntaxTests/controlFlow/modifiers/non_implemented_modifier.sol @@ -4,3 +4,5 @@ abstract contract A { } modifier mod() virtual; } +// ---- +// Warning 8429: (106-129): Virtual modifiers will be deprecated in the next breaking version. diff --git a/test/libsolidity/syntaxTests/conversion/implicit_conversion_of_super_in_comparison.sol b/test/libsolidity/syntaxTests/conversion/implicit_conversion_of_super_in_comparison.sol index 708713b6b0ff..2f07907d7437 100644 --- a/test/libsolidity/syntaxTests/conversion/implicit_conversion_of_super_in_comparison.sol +++ b/test/libsolidity/syntaxTests/conversion/implicit_conversion_of_super_in_comparison.sol @@ -21,7 +21,10 @@ contract C { // ---- // TypeError 2271: (144-157): Built-in binary operator != cannot be applied to types type(contract super C) and contract C. // TypeError 2271: (167-180): Built-in binary operator != cannot be applied to types contract C and type(contract super C). +// Warning 9170: (167-180): Comparison of variables of contract type will be deprecated in the next breaking version.Consider using an explicit cast to address type. // TypeError 2271: (254-264): Built-in binary operator != cannot be applied to types type(contract super C) and contract C. // TypeError 2271: (274-284): Built-in binary operator != cannot be applied to types contract C and type(contract super C). +// Warning 9170: (274-284): Comparison of variables of contract type will be deprecated in the next breaking version.Consider using an explicit cast to address type. // TypeError 2271: (349-359): Built-in binary operator != cannot be applied to types type(contract super C) and contract D. // TypeError 2271: (369-379): Built-in binary operator != cannot be applied to types contract D and type(contract super C). +// Warning 9170: (369-379): Comparison of variables of contract type will be deprecated in the next breaking version.Consider using an explicit cast to address type. diff --git a/test/libsolidity/syntaxTests/errors/no_structs_in_abiv1.sol b/test/libsolidity/syntaxTests/errors/no_structs_in_abiv1.sol index 8727a2852913..16dc70c0dffc 100644 --- a/test/libsolidity/syntaxTests/errors/no_structs_in_abiv1.sol +++ b/test/libsolidity/syntaxTests/errors/no_structs_in_abiv1.sol @@ -4,4 +4,5 @@ contract C { error MyError(S); } // ---- +// Warning 9511: (0-19): ABI coder v1 will be deprecated in the next breaking version. // TypeError 3061: (70-71): This type is only supported in ABI coder v2. Use "pragma abicoder v2;" to enable the feature. diff --git a/test/libsolidity/syntaxTests/events/event_nested_array.sol b/test/libsolidity/syntaxTests/events/event_nested_array.sol index 2491dae6e824..d0df91520b5e 100644 --- a/test/libsolidity/syntaxTests/events/event_nested_array.sol +++ b/test/libsolidity/syntaxTests/events/event_nested_array.sol @@ -3,4 +3,5 @@ contract c { event E(uint[][]); } // ---- +// Warning 9511: (0-19): ABI coder v1 will be deprecated in the next breaking version. // TypeError 3061: (45-53): This type is only supported in ABI coder v2. Use "pragma abicoder v2;" to enable the feature. diff --git a/test/libsolidity/syntaxTests/events/event_nested_array_in_struct.sol b/test/libsolidity/syntaxTests/events/event_nested_array_in_struct.sol index ee868a7152ad..21b248ef91b7 100644 --- a/test/libsolidity/syntaxTests/events/event_nested_array_in_struct.sol +++ b/test/libsolidity/syntaxTests/events/event_nested_array_in_struct.sol @@ -4,4 +4,5 @@ contract c { event E(S); } // ---- +// Warning 9511: (0-19): ABI coder v1 will be deprecated in the next breaking version. // TypeError 3061: (81-82): This type is only supported in ABI coder v2. Use "pragma abicoder v2;" to enable the feature. diff --git a/test/libsolidity/syntaxTests/events/event_struct.sol b/test/libsolidity/syntaxTests/events/event_struct.sol index ac6355fe0744..a6c466cefbef 100644 --- a/test/libsolidity/syntaxTests/events/event_struct.sol +++ b/test/libsolidity/syntaxTests/events/event_struct.sol @@ -4,4 +4,5 @@ contract c { event E(S); } // ---- +// Warning 9511: (0-19): ABI coder v1 will be deprecated in the next breaking version. // TypeError 3061: (71-72): This type is only supported in ABI coder v2. Use "pragma abicoder v2;" to enable the feature. diff --git a/test/libsolidity/syntaxTests/events/event_struct_indexed.sol b/test/libsolidity/syntaxTests/events/event_struct_indexed.sol index 7e3393400c79..6b8547a3f534 100644 --- a/test/libsolidity/syntaxTests/events/event_struct_indexed.sol +++ b/test/libsolidity/syntaxTests/events/event_struct_indexed.sol @@ -4,4 +4,5 @@ contract c { event E(S indexed); } // ---- +// Warning 9511: (0-19): ABI coder v1 will be deprecated in the next breaking version. // TypeError 3061: (71-80): This type is only supported in ABI coder v2. Use "pragma abicoder v2;" to enable the feature. diff --git a/test/libsolidity/syntaxTests/getter/nested_structs.sol b/test/libsolidity/syntaxTests/getter/nested_structs.sol index 36886bacffeb..8f653d11cdf5 100644 --- a/test/libsolidity/syntaxTests/getter/nested_structs.sol +++ b/test/libsolidity/syntaxTests/getter/nested_structs.sol @@ -9,4 +9,5 @@ contract C { mapping(uint256 => X) public m; } // ---- +// Warning 9511: (0-19): ABI coder v1 will be deprecated in the next breaking version. // TypeError 2763: (108-138): The following types are only supported for getters in ABI coder v2: struct C.Y memory. Either remove "public" or use "pragma abicoder v2;" to enable the feature. diff --git a/test/libsolidity/syntaxTests/immutable/inheritance_virtual_modifiers.sol b/test/libsolidity/syntaxTests/immutable/inheritance_virtual_modifiers.sol index 31f510dccca5..792cdf318797 100644 --- a/test/libsolidity/syntaxTests/immutable/inheritance_virtual_modifiers.sol +++ b/test/libsolidity/syntaxTests/immutable/inheritance_virtual_modifiers.sol @@ -17,3 +17,5 @@ contract C is B { _; f(x); } } +// ---- +// Warning 8429: (88-137): Virtual modifiers will be deprecated in the next breaking version. diff --git a/test/libsolidity/syntaxTests/imports/inheritance_abi_encoder_mismatch_1.sol b/test/libsolidity/syntaxTests/imports/inheritance_abi_encoder_mismatch_1.sol index 891f57e8d334..1df610746255 100644 --- a/test/libsolidity/syntaxTests/imports/inheritance_abi_encoder_mismatch_1.sol +++ b/test/libsolidity/syntaxTests/imports/inheritance_abi_encoder_mismatch_1.sol @@ -17,4 +17,5 @@ pragma abicoder v1; import "./B.sol"; contract C is B { } // ---- +// Warning 9511: (C.sol:0-19): ABI coder v1 will be deprecated in the next breaking version. // TypeError 6594: (C.sol:38-57): Contract "C" does not use ABI coder v2 but wants to inherit from a contract which uses types that require it. Use "pragma abicoder v2;" for the inheriting contract as well to enable the feature. diff --git a/test/libsolidity/syntaxTests/imports/inheritance_abi_encoder_mismatch_2.sol b/test/libsolidity/syntaxTests/imports/inheritance_abi_encoder_mismatch_2.sol index c92221f3accd..66b1cabd4da6 100644 --- a/test/libsolidity/syntaxTests/imports/inheritance_abi_encoder_mismatch_2.sol +++ b/test/libsolidity/syntaxTests/imports/inheritance_abi_encoder_mismatch_2.sol @@ -16,4 +16,6 @@ pragma abicoder v1; import "./B.sol"; contract C is B { } // ---- +// Warning 9511: (B.sol:0-19): ABI coder v1 will be deprecated in the next breaking version. +// Warning 9511: (C.sol:0-19): ABI coder v1 will be deprecated in the next breaking version. // TypeError 6594: (B.sol:38-57): Contract "B" does not use ABI coder v2 but wants to inherit from a contract which uses types that require it. Use "pragma abicoder v2;" for the inheriting contract as well to enable the feature. diff --git a/test/libsolidity/syntaxTests/inheritance/dataLocation/modifier_parameter_data_location_change_illegal_internal.sol b/test/libsolidity/syntaxTests/inheritance/dataLocation/modifier_parameter_data_location_change_illegal_internal.sol index a4856d9f0335..22340b096ab1 100644 --- a/test/libsolidity/syntaxTests/inheritance/dataLocation/modifier_parameter_data_location_change_illegal_internal.sol +++ b/test/libsolidity/syntaxTests/inheritance/dataLocation/modifier_parameter_data_location_change_illegal_internal.sol @@ -10,4 +10,5 @@ contract B is A { } } // ---- +// Warning 8429: (26-66): Virtual modifiers will be deprecated in the next breaking version. // TypeError 1078: (153-214): Override changes modifier signature. diff --git a/test/libsolidity/syntaxTests/inheritance/override/modifier_ambiguous.sol b/test/libsolidity/syntaxTests/inheritance/override/modifier_ambiguous.sol index 00aeed0cda6f..5dd44b019a20 100644 --- a/test/libsolidity/syntaxTests/inheritance/override/modifier_ambiguous.sol +++ b/test/libsolidity/syntaxTests/inheritance/override/modifier_ambiguous.sol @@ -8,3 +8,5 @@ contract C is A, B { modifier f() override(A,B) { _; } } // ---- +// Warning 8429: (17-44): Virtual modifiers will be deprecated in the next breaking version. +// Warning 8429: (64-91): Virtual modifiers will be deprecated in the next breaking version. diff --git a/test/libsolidity/syntaxTests/inheritance/override/modifier_ambiguous_fail.sol b/test/libsolidity/syntaxTests/inheritance/override/modifier_ambiguous_fail.sol index 7332f0817c18..02f43120edd1 100644 --- a/test/libsolidity/syntaxTests/inheritance/override/modifier_ambiguous_fail.sol +++ b/test/libsolidity/syntaxTests/inheritance/override/modifier_ambiguous_fail.sol @@ -7,4 +7,6 @@ contract B { contract C is A, B { } // ---- +// Warning 8429: (17-44): Virtual modifiers will be deprecated in the next breaking version. +// Warning 8429: (64-91): Virtual modifiers will be deprecated in the next breaking version. // TypeError 6480: (94-116): Derived contract must override modifier "f". Two or more base classes define modifier with same name. diff --git a/test/libsolidity/syntaxTests/inheritance/override/modifier_inherited_different_signature.sol b/test/libsolidity/syntaxTests/inheritance/override/modifier_inherited_different_signature.sol index 428f38e62bf0..39dfa47bb9b1 100644 --- a/test/libsolidity/syntaxTests/inheritance/override/modifier_inherited_different_signature.sol +++ b/test/libsolidity/syntaxTests/inheritance/override/modifier_inherited_different_signature.sol @@ -7,4 +7,6 @@ contract B { contract C is A, B { } // ---- +// Warning 8429: (17-50): Virtual modifiers will be deprecated in the next breaking version. +// Warning 8429: (70-97): Virtual modifiers will be deprecated in the next breaking version. // TypeError 6480: (100-122): Derived contract must override modifier "f". Two or more base classes define modifier with same name. diff --git a/test/libsolidity/syntaxTests/inheritance/override/modifier_inherited_different_signature_override.sol b/test/libsolidity/syntaxTests/inheritance/override/modifier_inherited_different_signature_override.sol index 7791ea725048..dfbcc4cf6afb 100644 --- a/test/libsolidity/syntaxTests/inheritance/override/modifier_inherited_different_signature_override.sol +++ b/test/libsolidity/syntaxTests/inheritance/override/modifier_inherited_different_signature_override.sol @@ -8,4 +8,7 @@ contract C is A, B { modifier f() virtual override(A, B) { _; } } // ---- +// Warning 8429: (17-50): Virtual modifiers will be deprecated in the next breaking version. +// Warning 8429: (70-97): Virtual modifiers will be deprecated in the next breaking version. +// Warning 8429: (125-167): Virtual modifiers will be deprecated in the next breaking version. // TypeError 1078: (125-167): Override changes modifier signature. diff --git a/test/libsolidity/syntaxTests/inheritance/override/nonintermediate_common_base_and_unique_implementation_modifier.sol b/test/libsolidity/syntaxTests/inheritance/override/nonintermediate_common_base_and_unique_implementation_modifier.sol index deda228fa0b5..594b0834c0b5 100644 --- a/test/libsolidity/syntaxTests/inheritance/override/nonintermediate_common_base_and_unique_implementation_modifier.sol +++ b/test/libsolidity/syntaxTests/inheritance/override/nonintermediate_common_base_and_unique_implementation_modifier.sol @@ -16,4 +16,7 @@ contract B is IJ } contract C is A, B {} // ---- +// Warning 8429: (14-41): Virtual modifiers will be deprecated in the next breaking version. +// Warning 8429: (58-85): Virtual modifiers will be deprecated in the next breaking version. +// Warning 8429: (111-154): Virtual modifiers will be deprecated in the next breaking version. // TypeError 6480: (229-250): Derived contract must override modifier "f". Two or more base classes define modifier with same name. diff --git a/test/libsolidity/syntaxTests/inheritance/virtual/modifier_virtual_err.sol b/test/libsolidity/syntaxTests/inheritance/virtual/modifier_virtual_err.sol index 85824c86b776..ef0ab2bc82d9 100644 --- a/test/libsolidity/syntaxTests/inheritance/virtual/modifier_virtual_err.sol +++ b/test/libsolidity/syntaxTests/inheritance/virtual/modifier_virtual_err.sol @@ -4,4 +4,5 @@ library test { } } // ---- +// Warning 8429: (19-38): Virtual modifiers will be deprecated in the next breaking version. // TypeError 3275: (19-38): Modifiers in a library cannot be virtual. diff --git a/test/libsolidity/syntaxTests/inheritance/virtual/simple.sol b/test/libsolidity/syntaxTests/inheritance/virtual/simple.sol index 892118a13d2a..ee79dc951dc6 100644 --- a/test/libsolidity/syntaxTests/inheritance/virtual/simple.sol +++ b/test/libsolidity/syntaxTests/inheritance/virtual/simple.sol @@ -5,3 +5,4 @@ contract C modifier modi() virtual {_;} } // ---- +// Warning 8429: (83-111): Virtual modifiers will be deprecated in the next breaking version. diff --git a/test/libsolidity/syntaxTests/inlineAssembly/memory_safe_dialect_string_and_comment.sol b/test/libsolidity/syntaxTests/inlineAssembly/memory_safe_dialect_string_and_comment.sol index 9d0fd3e1c786..21821dc2926e 100644 --- a/test/libsolidity/syntaxTests/inlineAssembly/memory_safe_dialect_string_and_comment.sol +++ b/test/libsolidity/syntaxTests/inlineAssembly/memory_safe_dialect_string_and_comment.sol @@ -5,3 +5,4 @@ function f() pure { } // ---- // Warning 8544: (63-104): Inline assembly marked as memory safe using both a NatSpec tag and an assembly flag. If you are not concerned with backwards compatibility, only use the assembly flag, otherwise only use the NatSpec tag. +// Warning 2424: (63-104): Natspec memory safe annotation for inline assembly will be deprecated in the next breaking version. diff --git a/test/libsolidity/syntaxTests/inlineAssembly/natspec_multi.sol b/test/libsolidity/syntaxTests/inlineAssembly/natspec_multi.sol index 945d62b0695f..182776387f68 100644 --- a/test/libsolidity/syntaxTests/inlineAssembly/natspec_multi.sol +++ b/test/libsolidity/syntaxTests/inlineAssembly/natspec_multi.sol @@ -15,9 +15,11 @@ function f() pure { // Warning 6269: (189-200): Unexpected NatSpec tag "after" with value "bogus-value" in inline assembly. // Warning 6269: (189-200): Unexpected NatSpec tag "before" with value "bogus-value" in inline assembly. // Warning 8787: (189-200): Unexpected value for @solidity tag in inline assembly: a +// Warning 2424: (189-200): Natspec memory safe annotation for inline assembly will be deprecated in the next breaking version. // Warning 8787: (189-200): Unexpected value for @solidity tag in inline assembly: b // Warning 8787: (189-200): Unexpected value for @solidity tag in inline assembly: c // Warning 8787: (189-200): Unexpected value for @solidity tag in inline assembly: d +// Warning 2424: (289-300): Natspec memory safe annotation for inline assembly will be deprecated in the next breaking version. // Warning 8787: (289-300): Unexpected value for @solidity tag in inline assembly: a // Warning 4377: (289-300): Value for @solidity tag in inline assembly specified multiple times: a // Warning 4377: (289-300): Value for @solidity tag in inline assembly specified multiple times: memory-safe-assembly diff --git a/test/libsolidity/syntaxTests/inlineAssembly/natspec_multi_swallowed.sol b/test/libsolidity/syntaxTests/inlineAssembly/natspec_multi_swallowed.sol index 74be1232ddee..256ba9523f17 100644 --- a/test/libsolidity/syntaxTests/inlineAssembly/natspec_multi_swallowed.sol +++ b/test/libsolidity/syntaxTests/inlineAssembly/natspec_multi_swallowed.sol @@ -14,6 +14,7 @@ function f() pure { // ---- // Warning 6269: (177-188): Unexpected NatSpec tag "after" with value "bogus-value" in inline assembly. // Warning 6269: (177-188): Unexpected NatSpec tag "before" with value "@solidity a memory-safe-assembly b c d" in inline assembly. +// Warning 2424: (277-288): Natspec memory safe annotation for inline assembly will be deprecated in the next breaking version. // Warning 8787: (277-288): Unexpected value for @solidity tag in inline assembly: a // Warning 4377: (277-288): Value for @solidity tag in inline assembly specified multiple times: a // Warning 4377: (277-288): Value for @solidity tag in inline assembly specified multiple times: memory-safe-assembly diff --git a/test/libsolidity/syntaxTests/modifiers/definition_in_contract.sol b/test/libsolidity/syntaxTests/modifiers/definition_in_contract.sol index 9b0a805adf26..5dd158d31d75 100644 --- a/test/libsolidity/syntaxTests/modifiers/definition_in_contract.sol +++ b/test/libsolidity/syntaxTests/modifiers/definition_in_contract.sol @@ -9,3 +9,6 @@ abstract contract A { modifier muv virtual; } // ---- +// Warning 8429: (39-65): Virtual modifiers will be deprecated in the next breaking version. +// Warning 8429: (117-143): Virtual modifiers will be deprecated in the next breaking version. +// Warning 8429: (148-169): Virtual modifiers will be deprecated in the next breaking version. diff --git a/test/libsolidity/syntaxTests/modifiers/definition_in_contract_unimplemented.sol b/test/libsolidity/syntaxTests/modifiers/definition_in_contract_unimplemented.sol index 2018ae4eabbd..53a6d2913a74 100644 --- a/test/libsolidity/syntaxTests/modifiers/definition_in_contract_unimplemented.sol +++ b/test/libsolidity/syntaxTests/modifiers/definition_in_contract_unimplemented.sol @@ -3,5 +3,6 @@ contract C { modifier muv virtual; } // ---- +// Warning 8429: (34-55): Virtual modifiers will be deprecated in the next breaking version. // TypeError 3656: (0-57): Contract "C" should be marked as abstract. // TypeError 8063: (17-29): Modifiers without implementation must be marked virtual. diff --git a/test/libsolidity/syntaxTests/modifiers/definition_in_interface.sol b/test/libsolidity/syntaxTests/modifiers/definition_in_interface.sol index 2f8281bdeb83..950722d5be18 100644 --- a/test/libsolidity/syntaxTests/modifiers/definition_in_interface.sol +++ b/test/libsolidity/syntaxTests/modifiers/definition_in_interface.sol @@ -5,6 +5,8 @@ interface I { modifier muv virtual; } // ---- +// Warning 8429: (57-83): Virtual modifiers will be deprecated in the next breaking version. +// Warning 8429: (88-109): Virtual modifiers will be deprecated in the next breaking version. // TypeError 6408: (18-35): Modifiers cannot be defined or declared in interfaces. // TypeError 6408: (40-52): Modifiers cannot be defined or declared in interfaces. // TypeError 8063: (40-52): Modifiers without implementation must be marked virtual. diff --git a/test/libsolidity/syntaxTests/modifiers/definition_in_library.sol b/test/libsolidity/syntaxTests/modifiers/definition_in_library.sol index 6acbf3a0f603..97712da055ce 100644 --- a/test/libsolidity/syntaxTests/modifiers/definition_in_library.sol +++ b/test/libsolidity/syntaxTests/modifiers/definition_in_library.sol @@ -2,4 +2,5 @@ library L { modifier mv virtual { _; } } // ---- +// Warning 8429: (16-42): Virtual modifiers will be deprecated in the next breaking version. // TypeError 3275: (16-42): Modifiers in a library cannot be virtual. diff --git a/test/libsolidity/syntaxTests/modifiers/definition_in_library_unimplemented.sol b/test/libsolidity/syntaxTests/modifiers/definition_in_library_unimplemented.sol index 5fbc35682258..4e8dd953b73b 100644 --- a/test/libsolidity/syntaxTests/modifiers/definition_in_library_unimplemented.sol +++ b/test/libsolidity/syntaxTests/modifiers/definition_in_library_unimplemented.sol @@ -3,5 +3,6 @@ library L { modifier muv virtual; } // ---- +// Warning 8429: (33-54): Virtual modifiers will be deprecated in the next breaking version. // TypeError 8063: (16-28): Modifiers without implementation must be marked virtual. // TypeError 3275: (33-54): Modifiers in a library cannot be virtual. diff --git a/test/libsolidity/syntaxTests/modifiers/empty_modifier_body.sol b/test/libsolidity/syntaxTests/modifiers/empty_modifier_body.sol index 0c0e821f5612..18df2a6a8701 100644 --- a/test/libsolidity/syntaxTests/modifiers/empty_modifier_body.sol +++ b/test/libsolidity/syntaxTests/modifiers/empty_modifier_body.sol @@ -13,3 +13,5 @@ contract D is C { } } // ---- +// Warning 8429: (22-51): Virtual modifiers will be deprecated in the next breaking version. +// Warning 8429: (134-153): Virtual modifiers will be deprecated in the next breaking version. diff --git a/test/libsolidity/syntaxTests/modifiers/empty_modifier_err.sol b/test/libsolidity/syntaxTests/modifiers/empty_modifier_err.sol index e9e03f30423b..d00f34dcfca7 100644 --- a/test/libsolidity/syntaxTests/modifiers/empty_modifier_err.sol +++ b/test/libsolidity/syntaxTests/modifiers/empty_modifier_err.sol @@ -5,6 +5,8 @@ contract C is B { } abstract contract D {modifier m;} // ---- +// Warning 8429: (12-31): Virtual modifiers will be deprecated in the next breaking version. +// Warning 8429: (55-74): Virtual modifiers will be deprecated in the next breaking version. // TypeError 3656: (0-32): Contract "A" should be marked as abstract. // TypeError 3656: (76-95): Contract "C" should be marked as abstract. // TypeError 8063: (118-129): Modifiers without implementation must be marked virtual. diff --git a/test/libsolidity/syntaxTests/modifiers/legal_modifier_override.sol b/test/libsolidity/syntaxTests/modifiers/legal_modifier_override.sol index 62356abb133c..fe4645f838e2 100644 --- a/test/libsolidity/syntaxTests/modifiers/legal_modifier_override.sol +++ b/test/libsolidity/syntaxTests/modifiers/legal_modifier_override.sol @@ -1,3 +1,4 @@ contract A { modifier mod(uint a) virtual { _; } } contract B is A { modifier mod(uint a) override { _; } } // ---- +// Warning 8429: (13-48): Virtual modifiers will be deprecated in the next breaking version. diff --git a/test/libsolidity/syntaxTests/modifiers/modifier_abstract_override.sol b/test/libsolidity/syntaxTests/modifiers/modifier_abstract_override.sol index dd3ef4499fdf..5b541b16e8a6 100644 --- a/test/libsolidity/syntaxTests/modifiers/modifier_abstract_override.sol +++ b/test/libsolidity/syntaxTests/modifiers/modifier_abstract_override.sol @@ -8,4 +8,6 @@ contract C is B { function f() m public {} } // ---- +// Warning 8429: (17-44): Virtual modifiers will be deprecated in the next breaking version. +// Warning 8429: (78-108): Virtual modifiers will be deprecated in the next breaking version. // TypeError 4593: (78-108): Overriding an implemented modifier with an unimplemented modifier is not allowed. diff --git a/test/libsolidity/syntaxTests/modifiers/multiple_inheritance_unimplemented_override.sol b/test/libsolidity/syntaxTests/modifiers/multiple_inheritance_unimplemented_override.sol index 81e1c3565b80..8d0b101a1373 100644 --- a/test/libsolidity/syntaxTests/modifiers/multiple_inheritance_unimplemented_override.sol +++ b/test/libsolidity/syntaxTests/modifiers/multiple_inheritance_unimplemented_override.sol @@ -9,3 +9,5 @@ contract C is A, B { function f() m public {} } // ---- +// Warning 8429: (17-44): Virtual modifiers will be deprecated in the next breaking version. +// Warning 8429: (73-94): Virtual modifiers will be deprecated in the next breaking version. diff --git a/test/libsolidity/syntaxTests/modifiers/unimplemented_function_and_modifier.sol b/test/libsolidity/syntaxTests/modifiers/unimplemented_function_and_modifier.sol index bf823748c85b..ea314a88af01 100644 --- a/test/libsolidity/syntaxTests/modifiers/unimplemented_function_and_modifier.sol +++ b/test/libsolidity/syntaxTests/modifiers/unimplemented_function_and_modifier.sol @@ -26,6 +26,7 @@ contract E is A { modifier mod() override { _;} } // ---- +// Warning 8429: (110-133): Virtual modifiers will be deprecated in the next breaking version. // TypeError 3656: (137-254): Contract "B" should be marked as abstract. // TypeError 3656: (256-344): Contract "C" should be marked as abstract. // TypeError 3656: (346-466): Contract "D" should be marked as abstract. diff --git a/test/libsolidity/syntaxTests/modifiers/unimplemented_override_unimplemented.sol b/test/libsolidity/syntaxTests/modifiers/unimplemented_override_unimplemented.sol index ae041ebfc61b..217ad28831a6 100644 --- a/test/libsolidity/syntaxTests/modifiers/unimplemented_override_unimplemented.sol +++ b/test/libsolidity/syntaxTests/modifiers/unimplemented_override_unimplemented.sol @@ -9,3 +9,6 @@ abstract contract C is B { function f() m public {} } // ---- +// Warning 8429: (26-47): Virtual modifiers will be deprecated in the next breaking version. +// Warning 8429: (81-111): Virtual modifiers will be deprecated in the next breaking version. +// Warning 8429: (145-175): Virtual modifiers will be deprecated in the next breaking version. diff --git a/test/libsolidity/syntaxTests/modifiers/use_unimplemented_from_base.sol b/test/libsolidity/syntaxTests/modifiers/use_unimplemented_from_base.sol index 6d6423e7e133..ceaa2ef978c8 100644 --- a/test/libsolidity/syntaxTests/modifiers/use_unimplemented_from_base.sol +++ b/test/libsolidity/syntaxTests/modifiers/use_unimplemented_from_base.sol @@ -6,3 +6,5 @@ contract B is A { modifier m() virtual override { _; } } // ---- +// Warning 8429: (26-47): Virtual modifiers will be deprecated in the next breaking version. +// Warning 8429: (101-137): Virtual modifiers will be deprecated in the next breaking version. diff --git a/test/libsolidity/syntaxTests/modifiers/use_unimplemented_on_overridden_func.sol b/test/libsolidity/syntaxTests/modifiers/use_unimplemented_on_overridden_func.sol index 5f6de4ce8302..8d344b819c09 100644 --- a/test/libsolidity/syntaxTests/modifiers/use_unimplemented_on_overridden_func.sol +++ b/test/libsolidity/syntaxTests/modifiers/use_unimplemented_on_overridden_func.sol @@ -6,3 +6,4 @@ abstract contract B is A { function f() public override {} } // ---- +// Warning 8429: (26-47): Virtual modifiers will be deprecated in the next breaking version. diff --git a/test/libsolidity/syntaxTests/modifiers/use_unimplemented_static.sol b/test/libsolidity/syntaxTests/modifiers/use_unimplemented_static.sol index a6fcd7eafae3..4ce661847493 100644 --- a/test/libsolidity/syntaxTests/modifiers/use_unimplemented_static.sol +++ b/test/libsolidity/syntaxTests/modifiers/use_unimplemented_static.sol @@ -9,4 +9,6 @@ contract C is A, B { function f() B.m public {} } // ---- +// Warning 8429: (17-44): Virtual modifiers will be deprecated in the next breaking version. +// Warning 8429: (73-94): Virtual modifiers will be deprecated in the next breaking version. // TypeError 1835: (174-177): Cannot call unimplemented modifier. The modifier has no implementation in the referenced contract. Refer to it by its unqualified name if you want to call the implementation from the most derived contract. diff --git a/test/libsolidity/syntaxTests/nameAndTypeResolution/045_returning_multi_dimensional_arrays.sol b/test/libsolidity/syntaxTests/nameAndTypeResolution/045_returning_multi_dimensional_arrays.sol index c9075a4cd3bf..1e55cf928114 100644 --- a/test/libsolidity/syntaxTests/nameAndTypeResolution/045_returning_multi_dimensional_arrays.sol +++ b/test/libsolidity/syntaxTests/nameAndTypeResolution/045_returning_multi_dimensional_arrays.sol @@ -3,4 +3,5 @@ contract C { function f() public pure returns (string[][] memory) {} } // ---- +// Warning 9511: (0-19): ABI coder v1 will be deprecated in the next breaking version. // TypeError 4957: (71-88): This type is only supported in ABI coder v2. Use "pragma abicoder v2;" to enable the feature. diff --git a/test/libsolidity/syntaxTests/nameAndTypeResolution/046_returning_multi_dimensional_static_arrays.sol b/test/libsolidity/syntaxTests/nameAndTypeResolution/046_returning_multi_dimensional_static_arrays.sol index ee8c7f18d3c4..fb96cc88ef07 100644 --- a/test/libsolidity/syntaxTests/nameAndTypeResolution/046_returning_multi_dimensional_static_arrays.sol +++ b/test/libsolidity/syntaxTests/nameAndTypeResolution/046_returning_multi_dimensional_static_arrays.sol @@ -3,4 +3,5 @@ contract C { function f() public pure returns (uint[][2] memory) {} } // ---- +// Warning 9511: (0-19): ABI coder v1 will be deprecated in the next breaking version. // TypeError 4957: (71-87): This type is only supported in ABI coder v2. Use "pragma abicoder v2;" to enable the feature. diff --git a/test/libsolidity/syntaxTests/nameAndTypeResolution/048_returning_arrays_in_structs_arrays.sol b/test/libsolidity/syntaxTests/nameAndTypeResolution/048_returning_arrays_in_structs_arrays.sol index 77c77831e01d..314bc301e12f 100644 --- a/test/libsolidity/syntaxTests/nameAndTypeResolution/048_returning_arrays_in_structs_arrays.sol +++ b/test/libsolidity/syntaxTests/nameAndTypeResolution/048_returning_arrays_in_structs_arrays.sol @@ -4,4 +4,5 @@ contract C { function f() public pure returns (S memory x) {} } // ---- +// Warning 9511: (0-19): ABI coder v1 will be deprecated in the next breaking version. // TypeError 4957: (100-110): This type is only supported in ABI coder v2. Use "pragma abicoder v2;" to enable the feature. diff --git a/test/libsolidity/syntaxTests/nameAndTypeResolution/346_unused_return_value_send.sol b/test/libsolidity/syntaxTests/nameAndTypeResolution/346_unused_return_value_send.sol index 80787c10c467..3da70d86382a 100644 --- a/test/libsolidity/syntaxTests/nameAndTypeResolution/346_unused_return_value_send.sol +++ b/test/libsolidity/syntaxTests/nameAndTypeResolution/346_unused_return_value_send.sol @@ -4,4 +4,5 @@ contract test { } } // ---- +// Warning 9207: (50-77): send will be deprecated in the next breaking version. // Warning 5878: (50-80): Failure condition of 'send' ignored. Consider using 'transfer' instead. diff --git a/test/libsolidity/syntaxTests/nameAndTypeResolution/405_address_checksum_type_deduction.sol b/test/libsolidity/syntaxTests/nameAndTypeResolution/405_address_checksum_type_deduction.sol index 25acbfd42a3e..9097efc79e9d 100644 --- a/test/libsolidity/syntaxTests/nameAndTypeResolution/405_address_checksum_type_deduction.sol +++ b/test/libsolidity/syntaxTests/nameAndTypeResolution/405_address_checksum_type_deduction.sol @@ -4,3 +4,4 @@ contract C { } } // ---- +// Warning 9207: (47-107): transfer will be deprecated in the next breaking version. diff --git a/test/libsolidity/syntaxTests/nameAndTypeResolution/413_address_methods.sol b/test/libsolidity/syntaxTests/nameAndTypeResolution/413_address_methods.sol index ad57224cdecb..5784a8c872ab 100644 --- a/test/libsolidity/syntaxTests/nameAndTypeResolution/413_address_methods.sol +++ b/test/libsolidity/syntaxTests/nameAndTypeResolution/413_address_methods.sol @@ -10,3 +10,5 @@ contract C { } } // ---- +// Warning 9207: (227-236): send will be deprecated in the next breaking version. +// Warning 9207: (249-262): transfer will be deprecated in the next breaking version. diff --git a/test/libsolidity/syntaxTests/nameAndTypeResolution/466_does_not_error_transfer_payable_fallback.sol b/test/libsolidity/syntaxTests/nameAndTypeResolution/466_does_not_error_transfer_payable_fallback.sol index 642ae8360569..3de7bbb60b42 100644 --- a/test/libsolidity/syntaxTests/nameAndTypeResolution/466_does_not_error_transfer_payable_fallback.sol +++ b/test/libsolidity/syntaxTests/nameAndTypeResolution/466_does_not_error_transfer_payable_fallback.sol @@ -13,3 +13,4 @@ contract B { } } // ---- +// Warning 9207: (227-246): transfer will be deprecated in the next breaking version. diff --git a/test/libsolidity/syntaxTests/nameAndTypeResolution/535_address_overload_resolution.sol b/test/libsolidity/syntaxTests/nameAndTypeResolution/535_address_overload_resolution.sol index a36aeed86364..302952676fe5 100644 --- a/test/libsolidity/syntaxTests/nameAndTypeResolution/535_address_overload_resolution.sol +++ b/test/libsolidity/syntaxTests/nameAndTypeResolution/535_address_overload_resolution.sol @@ -17,4 +17,5 @@ contract D { } } // ---- +// Warning 9207: (187-209): transfer will be deprecated in the next breaking version. // Warning 2018: (17-134): Function state mutability can be restricted to view diff --git a/test/libsolidity/syntaxTests/nameAndTypeResolution/585_abi_decode_with_unsupported_types.sol b/test/libsolidity/syntaxTests/nameAndTypeResolution/585_abi_decode_with_unsupported_types.sol index abbf76182f9b..e87c1d265fe3 100644 --- a/test/libsolidity/syntaxTests/nameAndTypeResolution/585_abi_decode_with_unsupported_types.sol +++ b/test/libsolidity/syntaxTests/nameAndTypeResolution/585_abi_decode_with_unsupported_types.sol @@ -6,4 +6,5 @@ contract C { } } // ---- +// Warning 9511: (0-19): ABI coder v1 will be deprecated in the next breaking version. // TypeError 9611: (118-119): Decoding type struct C.s memory not supported. diff --git a/test/libsolidity/syntaxTests/sizeLimits/bytecode_too_large_abiencoder_v1.sol b/test/libsolidity/syntaxTests/sizeLimits/bytecode_too_large_abiencoder_v1.sol index f3091ebf5351..97641e9e31f5 100644 --- a/test/libsolidity/syntaxTests/sizeLimits/bytecode_too_large_abiencoder_v1.sol +++ b/test/libsolidity/syntaxTests/sizeLimits/bytecode_too_large_abiencoder_v1.sol @@ -10,4 +10,5 @@ contract test { // EVMVersion: >=shanghai // bytecodeFormat: legacy // ---- +// Warning 9511: (0-19): ABI coder v1 will be deprecated in the next breaking version. // Warning 5574: (21-27154): Contract code size is 27205 bytes and exceeds 24576 bytes (a limit introduced in Spurious Dragon). This contract may not be deployable on Mainnet. Consider enabling the optimizer (with a low "runs" value!), turning off revert strings, or using libraries. diff --git a/test/libsolidity/syntaxTests/specialFunctions/abi_encodePacked_nested_dynamic_array.sol b/test/libsolidity/syntaxTests/specialFunctions/abi_encodePacked_nested_dynamic_array.sol index c10dc10f25e0..0739876f1530 100644 --- a/test/libsolidity/syntaxTests/specialFunctions/abi_encodePacked_nested_dynamic_array.sol +++ b/test/libsolidity/syntaxTests/specialFunctions/abi_encodePacked_nested_dynamic_array.sol @@ -5,4 +5,5 @@ contract C { } } // ---- +// Warning 9511: (0-19): ABI coder v1 will be deprecated in the next breaking version. // TypeError 9578: (89-119): Type not supported in packed mode. diff --git a/test/libsolidity/syntaxTests/specialFunctions/abi_encode_nested_dynamic_array.sol b/test/libsolidity/syntaxTests/specialFunctions/abi_encode_nested_dynamic_array.sol index 8c679258c5fe..a6b8f16410a3 100644 --- a/test/libsolidity/syntaxTests/specialFunctions/abi_encode_nested_dynamic_array.sol +++ b/test/libsolidity/syntaxTests/specialFunctions/abi_encode_nested_dynamic_array.sol @@ -5,4 +5,5 @@ contract C { } } // ---- +// Warning 9511: (0-19): ABI coder v1 will be deprecated in the next breaking version. // TypeError 2056: (86-116): This type cannot be encoded. diff --git a/test/libsolidity/syntaxTests/specialFunctions/abi_encode_structs.sol b/test/libsolidity/syntaxTests/specialFunctions/abi_encode_structs.sol index a7d0e3dbe099..372b21d9633d 100644 --- a/test/libsolidity/syntaxTests/specialFunctions/abi_encode_structs.sol +++ b/test/libsolidity/syntaxTests/specialFunctions/abi_encode_structs.sol @@ -12,6 +12,7 @@ contract C { } } // ---- +// Warning 9511: (0-19): ABI coder v1 will be deprecated in the next breaking version. // TypeError 2056: (151-152): This type cannot be encoded. // TypeError 2056: (154-155): This type cannot be encoded. // TypeError 9578: (220-221): Type not supported in packed mode. diff --git a/test/libsolidity/syntaxTests/specialFunctions/abidecode/abi_decode_nested_dynamic_array.sol b/test/libsolidity/syntaxTests/specialFunctions/abidecode/abi_decode_nested_dynamic_array.sol index 1981b04bf352..614fcc3974df 100644 --- a/test/libsolidity/syntaxTests/specialFunctions/abidecode/abi_decode_nested_dynamic_array.sol +++ b/test/libsolidity/syntaxTests/specialFunctions/abidecode/abi_decode_nested_dynamic_array.sol @@ -5,4 +5,5 @@ contract C { } } // ---- +// Warning 9511: (0-19): ABI coder v1 will be deprecated in the next breaking version. // TypeError 9611: (92-101): Decoding type uint256[][3] memory not supported. diff --git a/test/libsolidity/syntaxTests/specialFunctions/abidecode/abi_decode_struct.sol b/test/libsolidity/syntaxTests/specialFunctions/abidecode/abi_decode_struct.sol index dd981b54c9b5..b8a84fc37345 100644 --- a/test/libsolidity/syntaxTests/specialFunctions/abidecode/abi_decode_struct.sol +++ b/test/libsolidity/syntaxTests/specialFunctions/abidecode/abi_decode_struct.sol @@ -9,4 +9,5 @@ contract C { } } // ---- +// Warning 9511: (0-19): ABI coder v1 will be deprecated in the next breaking version. // TypeError 9611: (118-119): Decoding type struct S memory not supported. diff --git a/test/libsolidity/syntaxTests/viewPureChecker/builtin_functions.sol b/test/libsolidity/syntaxTests/viewPureChecker/builtin_functions.sol index 8f275321382a..6281d05a74d9 100644 --- a/test/libsolidity/syntaxTests/viewPureChecker/builtin_functions.sol +++ b/test/libsolidity/syntaxTests/viewPureChecker/builtin_functions.sol @@ -21,4 +21,6 @@ contract C { // ==== // bytecodeFormat: legacy // ---- +// Warning 9207: (47-69): transfer will be deprecated in the next breaking version. +// Warning 9207: (90-108): send will be deprecated in the next breaking version. // Warning 5159: (122-134): "selfdestruct" has been deprecated. Note that, starting from the Cancun hard fork, the underlying opcode no longer deletes the code and data associated with an account and only transfers its Ether to the beneficiary, unless executed in the same transaction in which the contract was created (see EIP-6780). Any use in newly deployed contracts is strongly discouraged even if the new behavior is taken into account. Future changes to the EVM might further reduce the functionality of the opcode. diff --git a/test/libsolidity/syntaxTests/viewPureChecker/builtin_functions_view_fail.sol b/test/libsolidity/syntaxTests/viewPureChecker/builtin_functions_view_fail.sol index 4f9efcdb5dd4..ab04c444b8db 100644 --- a/test/libsolidity/syntaxTests/viewPureChecker/builtin_functions_view_fail.sol +++ b/test/libsolidity/syntaxTests/viewPureChecker/builtin_functions_view_fail.sol @@ -20,6 +20,8 @@ contract C { } } // ---- +// Warning 9207: (52-74): transfer will be deprecated in the next breaking version. +// Warning 9207: (132-150): send will be deprecated in the next breaking version. // Warning 5159: (201-213): "selfdestruct" has been deprecated. Note that, starting from the Cancun hard fork, the underlying opcode no longer deletes the code and data associated with an account and only transfers its Ether to the beneficiary, unless executed in the same transaction in which the contract was created (see EIP-6780). Any use in newly deployed contracts is strongly discouraged even if the new behavior is taken into account. Future changes to the EVM might further reduce the functionality of the opcode. // TypeError 8961: (52-77): Function cannot be declared as view because this expression (potentially) modifies the state. // TypeError 8961: (132-153): Function cannot be declared as view because this expression (potentially) modifies the state. diff --git a/test/libsolidity/syntaxTests/viewPureChecker/eof/builtin_functions.sol b/test/libsolidity/syntaxTests/viewPureChecker/eof/builtin_functions.sol index 91ea709fe2a6..456e30413aad 100644 --- a/test/libsolidity/syntaxTests/viewPureChecker/eof/builtin_functions.sol +++ b/test/libsolidity/syntaxTests/viewPureChecker/eof/builtin_functions.sol @@ -20,3 +20,5 @@ contract C { // ==== // bytecodeFormat: >=EOFv1 // ---- +// Warning 9207: (47-69): transfer will be deprecated in the next breaking version. +// Warning 9207: (90-108): send will be deprecated in the next breaking version.