Avatar
Avatar
norio_nomura
@swift-main + swiftc -swift-version 6 import Synchronization struct SomeProxyClient { var foo: @MainActor @Sendable () -> Void var bar: @MainActor @Sendable () -> Void static let liveValue: Self = { let _proxy = Mutex<Int>(0) return Self( foo: { // ↓ Sending '_proxy' risks causing data races _proxy.withLock { _ in } }, bar: { _proxy.withLock { _ in } } ) }() }
swiftNightly BOT 10/1/2025 4:03 AM
exit status 1 with stderr:<stdin>:13:17: error: sending '_proxy' risks causing data races [#SendingRisksDataRace] 11 | foo: { 12 | // ↓ Sending '_proxy' risks causing data races 13 | _proxy.withLock { _ in } | |- error: sending '_proxy' risks causing data races [#SendingRisksDataRace] | `- note: '_proxy' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses 14 | }, 15 | bar: { | `- note: access can happen concurrently 16 | _proxy.withLock { _ in } 17 | } [#SendingRisksDataRace]: <https://docs.swift.org/compiler/documentation/diagnostics/sending-risks-data-race>