Xcode: The compiler is unable to type-check this expression in reasonable time; try breaking up the expression into distinct sub-expressions

開発環境

$ xcodebuild -version
Xcode 14.1
Build version 14B47b

# 14.2でも試した
$ xcodebuild -version
Xcode 14.2
Build version 14C18

エラーメッセージ

The compiler is unable to type-check this expression in reasonable time; try breaking up the expression into distinct sub-expressions

XcodeやPCの再鼓動でも改善しなかった。

コード

struct SampleScreen: View {
    @ObservedObject var viewModel: SampleScreenViewModel

    var body: some View {
        NavigationStack {
            List(viewModel.viewData.items) { item in
                NavigationLink(value: item) {
                    SampleScreenListItemView(item: item)
                        .disabled(true)
                }
                .disabled(true)
            }
            .navigationTitle("title")
        }
    }
}

エラーメッセージ通りに雑に分割してあげるとビルドが通る。

struct SampleScreen: View {
    @ObservedObject var viewModel: SampleScreenViewModel

    var body: some View {
        NavigationStack {
            List(viewModel.viewData.items) { item in
                NavigationLink(value: item) {
                    // メソッドに切り出した
                    listItemView(item: item)
                }
                .disabled(true)
            }
            .navigationTitle("title")
        }
    }

    func listItemView(item: SampleScreenListItem) -> some View {
        SampleScreenListItemView(item: item)
            .disabled(true)
    }
}

そんなに込み入った記述をしていないのでどこが悪いのか気になった。

結果として分かったのは、disabledが1つの場合 or navigationTitleを削除するとビルドが通る。何もわからん。
とはいえ、disableの対象はNavigationLinkにのみ適用させれば良いため、一番最初のdisabledは不要となる。