.length on a fixed-bytes value fails MLIR legalization. Legacy and the C++ frontend fold it to N and still evaluate the base.
contract C {
function f(bytes32 x) public pure returns (uint256) { return x.length; }
}
Witnesses: semanticTests/array/fixed_bytes_length_access.sol, semanticTests/various/code_length_contract_member.sol.
.lengthon a fixed-bytes value fails MLIR legalization. Legacy and the C++ frontend fold it to N and still evaluate the base.Witnesses:
semanticTests/array/fixed_bytes_length_access.sol,semanticTests/various/code_length_contract_member.sol.