-
Notifications
You must be signed in to change notification settings - Fork 6.3k
Open
Labels
Description
Description
The following code triggers the ICE shown bellow in the latest solc version 0.8.30. The problem seems to appear with version 0.6.9 (tested on remix), which is when calldata location was permitted for internal functions.
Steps to Reproduce
testcase.sol
// SPDX-License-Identifier: GPL-3.0
pragma solidity =0.8.30;
contract C {
function f(S[10] calldata p) internal {
}
}
struct S {
function () internal pure m1;
}solc testcase.sol
Internal compiler error:
/solidity/libsolidity/ast/Types.cpp(2295): Throw in function virtual bool solidity::frontend::StructType::isDynamicallyEncoded() const
Dynamic exception type: boost::wrapexcept<solidity::langutil::InternalCompilerError>
std::exception::what: Solidity assertion failed
[solidity::util::tag_comment*] = Solidity assertion failed
Environment
- Compiler version:
0.8.30