Avatar
Avatar
koher
たとえ sink に渡すクロージャが @Sendable になったとして、 receive(on: DispatchQueue.main) したとしても、コンパイラはそれを検出できないから、 .sink { } の中が MainActor として判別することはできない・・・。
これはちょっと違うと思っていて、DispatchQueue.mainではなく、MainActorのインスタンスを渡して型に焼き込む方法になるんじゃないかと。