solidity/test/libsolidity/semanticTests/constructor/no_callvalue_check.sol
2021-04-29 16:45:05 +02:00

25 lines
517 B
Solidity

contract A1 {}
contract B1 is A1 { constructor() payable {} }
contract A2 { constructor() {} }
contract B2 is A2 { constructor() payable {} }
contract B3 { constructor() payable {} }
contract C {
function f() public payable returns (bool) {
// Make sure none of these revert.
new B1{value: 10}();
new B2{value: 10}();
new B3{value: 10}();
return true;
}
}
// ====
// compileViaYul: also
// ----
// f(), 2000 ether -> true
// gas irOptimized: 123743
// gas legacy: 123226
// gas legacyOptimized: 123092