Open lrhn opened 6 days ago
(In Dart 3.0, you can't override hashCode
and have primitive equality, so a constant hash map won't call a user hashCode
, because such an object is not allowed. In Dart \<3.0, that was instead achieved by not calling the hashCode
. One strategy here is to close our eyes and wait for Dart \<3.0 to become unsupported, and blame anyone who makes a throwing hashCode
until then - because you shouldn't be doing that anyway.)
There are new test failures on Remove unnecessary leftover
@dart=2.19
from tests..The tests
are failing on configurations
In 2.19-mode constant maps/sets should not read the
hashCode
of objects with trivial equality, they should just use identity hash code (except for the lucky few platform objects where it should use the actual hashCode, likely numbers,Symbol
andType
objects, because there will be runtime created objects equal to them).The Wasm code crashes badly if
hashCode
throws. (That's a silly thing to do, but we have tests.) This was probably accepted already, and just popped up again because I copied/renamed a file.