Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Swift 6に向けて、Swift Concurrency回りのコンパイル時警告が出ているためいくつかを修正します。
#210 で書いてくれた一部の修正を採用しており、そのコミットには Co-authorとして @uhooi さんを記載しています。
https://docs.github.com/ja/pull-requests/committing-changes-to-your-project/creating-and-editing-commits/creating-a-commit-with-multiple-authors
IMKInputControllerの派生クラスの各メソッドに
@MainActor
を設定パッケージ IMKMethodKitのIMKInputControllerの各メソッドはおそらく
@MainActor
扱いだと思うのですが、macOS 15 SDKの現状ではそうなっていないため各overrideしたメソッドに@MainActor
をつけています。これはこれで基底クラスと合ってないよと言われるんですが↓、@preconcurrency import InputMethodKit
しても効果なかったので、いったんこれでいきます。class内で
NotificationCenter.default.notifications
を使っているところはCombineで受信するようにする次のようなコードはNotificationがSendableでないため警告が出ます。
class内で受信したNotificationを処理しているところはCombineで処理するようにします。
https://developer.apple.com/documentation/foundation/notificationcenter/3813137-notifications#discussion
にNotificationからSendableな別の値にcompactMapで変換すればいい例があったのですが、macSKKAppではSendableな型に変換できなかったのでそのままになっています。
CombineでやるにもAnyCancellableなmutable要素を持たせたくなかったので妥協してそのままです。
FileDict, UserDictは別PRで対応する
FileDictでたくさんの警告が残っています。
現在はclass FileDict内でpropertyへの書き込みを行っているためさくっと直すのは難しいためこのPRで修正するのは見送ります。NSDocumentのサブクラスにして読み込みは並列可、書き込みだけ直列になるようにできるといいなと思っています。