Avatar
それはそれとして、 そのメソッドは明確に nonisolated なので、その中で assertIsolated しても自己のドメインにない事があるのはそうなんじゃないでしょうか。
外から別のisolation domainで明示的に無関係の AVSpeechSynthesizer を渡して呼び出せば壊れるのはその通りなんですが、 actor インスタンスにisolateされた AVSpeechSynthesizer が内部でこのdelegateメソッドを呼び出す分には、( AVSpeechSynthesizer インスタンス自体がその actor インスタンスにisolateされてるので)別のcontextから(第一引数のその AVSpeechSynthesizer を渡す形で)呼び出すことはできないと思うんですよね。 このdelegateメソッドの中に assertIsolatedassumeIsolated を書くのが正しくないのはその通りで、この場合はそれらがエラーになる状況で AVSpeechSynthesizer インスタンスが渡されているというおかしな状況を確認するために書きました。