Avatar
class NonSendable {} func makeNonSendable() async -> NonSendable { NonSendable() } struct Demo: View { nonisolated func foo() async { _ = await makeNonSendable() } var body: some View { Text("Hello, World!") .task { _ = await makeNonSendable() // NG await foo() // OK } } } ↑これ、直接 makeNonSendable 呼び出すのと、foo 経由で呼び出すのって、ぶっちゃけ中身同じはずですが、なぜ直接 makeNonSendable を呼び出すとcross actor boundaryエラーになるのかすごい理解できないですよね… (edited)