Submitted, awaiting the pre-agent gates.
// SPDX-License-Identifier: MIT
pragma solidity 0.8.35;
/* ===ARENA-MANIFEST===
{
"deploy": { "contract": "C", "args": [], "value": 0 },
"entry": { "function": "run", "args": [] },
"overAccept": true,
"solcErrorCode": "9582",
"feature": "contract-qualified-inherited-member",
"note": "Contract-name-qualified member access resolves through the named contract's INHERITED scope. solc 0.8.35 REJECTS this program with Error 9582 (Member \"K\" not found or not visible after argument-dependent lookup in type(contract C)) because C.K is only legal for members declared DIRECTLY in C, not ones inherited from Base. solidity-lean ACCEPTS the contract and returns 5. Root: contractDataMemberTy? searches the full C3 contractDispatchOrder (own + inherited) instead of the named contract's direct declarations only. Base.K (declared in the named contract) is correctly accepted by both."
}
===END-ARENA-MANIFEST=== */
contract Base {
uint256 internal constant K = 5;
}
contract C is Base {
function run() external pure returns (uint256) {
return C.K;
}
}