mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Evaluate base arguments in derived to base order.
This commit is contained in:
@@ -0,0 +1,24 @@
|
||||
contract A {
|
||||
constructor(uint) {}
|
||||
}
|
||||
contract B {
|
||||
constructor(uint) {}
|
||||
}
|
||||
contract C {
|
||||
constructor(uint) {}
|
||||
}
|
||||
contract D {
|
||||
constructor(uint) {}
|
||||
}
|
||||
contract X is D, C, B, A {
|
||||
uint[] x;
|
||||
function f(uint _x) internal returns (uint) {
|
||||
x.push(_x);
|
||||
}
|
||||
function g() public view returns (uint[] memory) { return x; }
|
||||
constructor() A(f(1)) C(f(2)) B(f(3)) D(f(4)) {}
|
||||
}
|
||||
// ====
|
||||
// compileViaYul: also
|
||||
// ----
|
||||
// g() -> 0x20, 4, 1, 3, 2, 4
|
||||
Reference in New Issue
Block a user