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> {
3333 self.pageSize = pageSize
3434 }
3535
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
3642 func reload() async {
3743 state = .loading
3844 next = nil