The Wire · Showcase
Swift fixes a silent miscompile in OSSA ownership, Flutter patches a ProMotion crash
By RepoJournal · Filed · About Mobile platforms
A Swift compiler bug that could corrupt objects at deinit and a Flutter crash on ProMotion displays both shipped fixes overnight.
Swift's OSSA ownership fix [1] eliminates a miscompile where a `[dead_end]` destroy flag was dropped, potentially running deinitializers on partially initialized objects. The same Swift team tightened deinit specialization for embedded targets [3], cutting unnecessary specializations, then built on it to improve deinit devirtualization for move-only existentials [4]. On the Flutter side, a null check [2] prevents a dereference of a nil task runner when a view controller's engine is gone, addressing ProMotion touch-rate issues. Flutter also added test coverage for `engineAllowHeadlessExecution` [5], and the packages roll brings 17 revisions including cleanup of unused constructor parameters [6]. Kotlin expanded its isolated projects workaround for JS Gradle builds [7] and updated six MCP tool names from those in IDEA 2026.2.1 [8]. The CXX interop team implemented libkern ownership conventions, marking getters as +0 and others +1 [9]. Kotlin's inference changes continue: second-kind incorporation restrictions are now reflected in test expectations [10]. The wire covers 114 commits and 62 PRs across these three repos.
One email a day. Unsubscribe in one click.
Keep up with Mobile platforms in about 3 minutes a day: what actually shipped — the commits, pull requests, releases, and security advisories that matter.
One email a day. Unsubscribe in one click. Read a past issue →
Action items
- → Update Swift compiler if you use OSSA ownership or run embedded targets to avoid the deinit miscompile apple/swift [immediate]
- → Apply the Flutter engine patch if your app hits the ProMotion touch-rate crash flutter/flutter [immediate]
- → Monitor Kotlin's second-kind incorporation restriction changes if you rely on complex type inference JetBrains/kotlin [plan]
References
- [1] OSSA RAUW: don't drop the `[dead_end]` flag when compensating a deleted consume ↗ apple/swift
- [2] iOS: Add null check for touch rate correction task runner (#191641) flutter/flutter
- [3] [Embedded] Limit additional specialization of deinits to only those needed for metadata ↗ apple/swift
- [4] [Embedded] Improvements to deinit devirtualization ↗ apple/swift
- [5] iOS: Add test for engineAllowHeadlessExecution (#191635) flutter/flutter
- [6] Roll Packages from df2ba94faea6 to 740f09361ccc (17 revisions) (#191734) flutter/flutter
- [7] [Gradle] Use internal workaround for prototyping isolated project support in JS in more places JetBrains/kotlin
- [8] AI: update JetBrains MCP tool names for IDEA 2026.2.1 JetBrains/kotlin
- [9] [cxx-interop] Apply libkern's return ownership conventions ↗ apple/swift
- [10] [Tests] Update test data after restricting second-kind incorporation JetBrains/kotlin