solang
solang copied to clipboard
`sema` does not handle Linearization according to Solidity docs
I'm reading through this section in the Solidity docs. Without diving into the code, I don't think we handles this correctly, because the following code compiles fine for the polkadot target (solc does not allow it):
// SPDX-License-Identifier: GPL-3.0
pragma solidity >=0.4.0 <0.9.0;
contract X { function a() public pure {} }
contract A is X { function b() public pure {} }
// This will not compile
contract C is A, X { function c() public pure {} }