Commit 282c068350

282c06835055dc8854b84da1d8f191a8aae199e5

parent: d6f71d1fce

Unsigned

cmc <hello@cleberg.net> · 2026-09-08 04:37 UTC

Explicit deinit on PagedListModel for the Release optimizer (!94)

Archiving 1.1.0 failed with "Command SwiftCompile failed": with the deployment target at iOS 18 the Swift 6.3.3 optimizer crashes in EarlyPerfInliner on the synthesized deinit of PagedListModel, a generic @Observable class. Release at 26.5 builds; Release at 18.0 crashed; only Release reaches the pass, which is why the Debug test runs never saw it. An explicit empty deinit sidesteps it; Release at 18.0 now builds and the paged-list tests pass.

Layout: unified · split

gitbay/Repos/PagedListModel.swift +6
@@ -33,6 +33,12 @@ final class PagedListModel<Element: Decodable & Sendable> {
33 self.pageSize = pageSize 33 self.pageSize = pageSize
34 } 34 }
35 35
36 // An explicit deinit: with the deployment target at iOS 18 the Swift
37 // 6.3 optimizer crashes inlining the synthesized one of this generic
38 // @Observable class (isCallerAndCalleeLayoutConstraintsCompatible),
39 // which only a Release build reaches.
40 deinit {}
41
36 func reload() async { 42 func reload() async {
37 state = .loading 43 state = .loading
38 next = nil 44 next = nil