diff --git a/language-guide/concurrency.md b/language-guide/concurrency.md index 9204796b..c14fd78b 100644 --- a/language-guide/concurrency.md +++ b/language-guide/concurrency.md @@ -1,6 +1,6 @@ # 並行処理\(Concurrency\) -最終更新日: 2025/05/31 +最終更新日: 2025/06/28 原文: https://docs.swift.org/swift-book/LanguageGuide/Concurrency.html 非同期操作を行う。 @@ -497,12 +497,15 @@ struct TemperatureReading { } ``` -`Sendable` プロトコルへの暗黙の準拠を上書きするには、`~Sendable` と書きます: +`Sendable` プロトコルへの暗黙の準拠を上書きするには、`Sendable` への unavailable 準拠を書きます: ```swift -struct FileDescriptor: ~Sendable { +struct FileDescriptor { let rawValue: Int } + +@available(*, unavailable) +extension FileDescriptor: Sendable {} ``` -プロトコルへの暗黙の準拠を抑制する詳細な情報は、[暗黙の制約\(Implicit Constraints\)](./generics.md#暗黙の制約implicit-constraints) を参照ください。 \ No newline at end of file +unavailable 準拠を使用して、[プロトコルへの暗黙の準拠\(Implicit Conformance to a Protocol\)](./protocols.md#プロトコルへの暗黙の準拠implicit-conformance-to-a-protocol)で説明されているように、プロトコルに対する暗黙的な準拠を抑制することもできます。 \ No newline at end of file diff --git a/language-guide/protocols.md b/language-guide/protocols.md index be16fff7..53e45bee 100644 --- a/language-guide/protocols.md +++ b/language-guide/protocols.md @@ -1,6 +1,6 @@ # プロトコル\(Protocols\) -最終更新日: 2025/5/24 +最終更新日: 2025/6/28 原文: https://docs.swift.org/swift-book/LanguageGuide/Protocols.html 準拠型が実装する必要がある要件を定義する。 @@ -560,7 +560,7 @@ struct FileDescriptor: ~Sendable { ```swift @available(*, unavailable) -extension FileDescriptor Sendable { } +extension FileDescriptor: Sendable { } ``` 前の例のように、コードのある場所で `~Sendable` と記述した場合でも、プログラムの他の場所のコードは `FileDescriptor` 型を拡張して `Sendable` 準拠を追加できます。対照的に、この例の `unavailable` extension は、`Sendable` への暗黙的な準拠を抑制し、さらにコードの他の場所にある extension がその型に `Sendable` 準拠を追加するのを防ぎます。