Skip to content

v2.5.2

@trasch trasch tagged this 21 Sep 13:14
The element-wise array coercion introduced in caf3e65 ran a dynamic-cast
cascade per array element and was applied at every nesting level, making
large GeoJSON parses ~20x slower (50k-point FeatureCollection: ~1.0s vs
~0.05s before). On the main thread this blocked long enough for the iOS
watchdog to kill the app.

The _dictionaryUpCast trap is specific to dictionary casts; casting an
NSArray to [Sendable] only checks element conformance and is safe. Use a
single whole-array cast and keep element-wise recursion only for
dictionaries, where the trap lives.
Assets 2
Loading