From eb405ed36d855bee41620e9ce48b1817c89f4f43 Mon Sep 17 00:00:00 2001 From: narumij Date: Mon, 12 Aug 2024 19:34:05 +0900 Subject: [PATCH 01/15] =?UTF-8?q?=E6=B0=97=E3=81=AB=E3=81=AA=E3=81=A3?= =?UTF-8?q?=E3=81=9F=E3=81=A8=E3=81=93=E3=82=8D=E3=81=AE=E6=8F=90=E6=A1=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Guide.docc/CommonProblems.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Guide.docc/CommonProblems.md b/Guide.docc/CommonProblems.md index 6a08271..b9d52b2 100644 --- a/Guide.docc/CommonProblems.md +++ b/Guide.docc/CommonProblems.md @@ -87,7 +87,7 @@ var supportedStyleCount: Int { } ``` -もしこの変数を保護するための同期機構があり、それがコンパイラに見えない場合は、`nonisolated(unsafe)` を使って `supportedStyleCount` のすべての隔離確認を無効化できます。 +コンパイラからは見えないやり方でこの変数を同期機構により保護している場合、`nonisolated(unsafe)` を使って `supportedStyleCount` のすべての隔離検出を無効化できます。 ```swift /// `styleLock` を保持している間だけこの値にアクセスしてよい。 From f7f2930efd1ae9170ebbc5fe5411fb68c21b5896 Mon Sep 17 00:00:00 2001 From: narumij Date: Mon, 12 Aug 2024 19:45:25 +0900 Subject: [PATCH 02/15] =?UTF-8?q?=E5=8E=9F=E6=96=87=E3=81=AE=E6=B6=88?= =?UTF-8?q?=E3=81=97=E5=BF=98=E3=82=8C=E3=81=A8=E6=80=9D=E3=82=8F=E3=82=8C?= =?UTF-8?q?=E3=82=8B=E7=AE=87=E6=89=80=E3=81=AE=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Guide.docc/CommonProblems.md | 1 - 1 file changed, 1 deletion(-) diff --git a/Guide.docc/CommonProblems.md b/Guide.docc/CommonProblems.md index b9d52b2..397453a 100644 --- a/Guide.docc/CommonProblems.md +++ b/Guide.docc/CommonProblems.md @@ -370,7 +370,6 @@ func updateStyle(backgroundColor: ColorComponents) async { ``` `Sendable` への準拠は型の公開APIの取り決めの一部であり、定義するかどうかは自分次第です。 -Because `ColorComponents` is marked `public`, it will not implicitly conform to `Sendable`. `ColorComponents` には `public` がついているため、 `Sendable` への暗黙的な準拠を行ないません。 これは次のようなエラーになります: From 200d8a86ea63cd6a4255565ae9641fa3026c98d2 Mon Sep 17 00:00:00 2001 From: narumij Date: Mon, 12 Aug 2024 23:26:15 +0900 Subject: [PATCH 03/15] revert --- Guide.docc/CommonProblems.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Guide.docc/CommonProblems.md b/Guide.docc/CommonProblems.md index 397453a..9641b33 100644 --- a/Guide.docc/CommonProblems.md +++ b/Guide.docc/CommonProblems.md @@ -87,7 +87,7 @@ var supportedStyleCount: Int { } ``` -コンパイラからは見えないやり方でこの変数を同期機構により保護している場合、`nonisolated(unsafe)` を使って `supportedStyleCount` のすべての隔離検出を無効化できます。 +もしこの変数を保護するための同期機構があり、それがコンパイラに見えない場合は、`nonisolated(unsafe)` を使って `supportedStyleCount` のすべての隔離確認を無効化できます。 ```swift /// `styleLock` を保持している間だけこの値にアクセスしてよい。 From a0d7f42af3e0c870e4330bb39f7d41f25706693f Mon Sep 17 00:00:00 2001 From: narumij Date: Wed, 14 Aug 2024 00:08:35 +0900 Subject: [PATCH 04/15] polishing text --- Guide.docc/CommonProblems.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Guide.docc/CommonProblems.md b/Guide.docc/CommonProblems.md index 9641b33..fbfac4c 100644 --- a/Guide.docc/CommonProblems.md +++ b/Guide.docc/CommonProblems.md @@ -87,7 +87,8 @@ var supportedStyleCount: Int { } ``` -もしこの変数を保護するための同期機構があり、それがコンパイラに見えない場合は、`nonisolated(unsafe)` を使って `supportedStyleCount` のすべての隔離確認を無効化できます。 +この変数が、コンパイラの気付かない方法で同期され、保護している場合、`nonisolated(unsafe)` を使って +`supportedStyleCount` の隔離確認をすべて無効化できます。 ```swift /// `styleLock` を保持している間だけこの値にアクセスしてよい。 From 8a76d8bae078d44061796fb16cd5f0071ccb862e Mon Sep 17 00:00:00 2001 From: narumij Date: Wed, 14 Aug 2024 09:45:53 +0900 Subject: [PATCH 05/15] polishing text --- Guide.docc/CommonProblems.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Guide.docc/CommonProblems.md b/Guide.docc/CommonProblems.md index fbfac4c..e77b06a 100644 --- a/Guide.docc/CommonProblems.md +++ b/Guide.docc/CommonProblems.md @@ -87,7 +87,7 @@ var supportedStyleCount: Int { } ``` -この変数が、コンパイラの気付かない方法で同期され、保護している場合、`nonisolated(unsafe)` を使って +もし変数が、コンパイラには見えない方法で同期が行われ、保護されている場合、`nonisolated(unsafe)` を使って `supportedStyleCount` の隔離確認をすべて無効化できます。 ```swift From dc8e3ca8d2324b513c76a89ebb8d9a6065ef25c4 Mon Sep 17 00:00:00 2001 From: narumij Date: Wed, 14 Aug 2024 10:01:21 +0900 Subject: [PATCH 06/15] polishing text --- Guide.docc/CommonProblems.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Guide.docc/CommonProblems.md b/Guide.docc/CommonProblems.md index e77b06a..206cb9f 100644 --- a/Guide.docc/CommonProblems.md +++ b/Guide.docc/CommonProblems.md @@ -87,7 +87,7 @@ var supportedStyleCount: Int { } ``` -もし変数が、コンパイラには見えない方法で同期が行われ、保護されている場合、`nonisolated(unsafe)` を使って +もし変数が、コンパイラには見えない方法で保護され、同期されている場合、`nonisolated(unsafe)` を使って `supportedStyleCount` の隔離確認をすべて無効化できます。 ```swift From 27e6f25ef40309b8d0d5488b79a054cfedfcc075 Mon Sep 17 00:00:00 2001 From: narumij Date: Wed, 14 Aug 2024 10:11:18 +0900 Subject: [PATCH 07/15] polishing text --- Guide.docc/CommonProblems.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Guide.docc/CommonProblems.md b/Guide.docc/CommonProblems.md index 206cb9f..467ce56 100644 --- a/Guide.docc/CommonProblems.md +++ b/Guide.docc/CommonProblems.md @@ -87,7 +87,7 @@ var supportedStyleCount: Int { } ``` -もし変数が、コンパイラには見えない方法で保護され、同期されている場合、`nonisolated(unsafe)` を使って +もし変数が、コンパイラには見えない方法で同期され、保護されている場合、`nonisolated(unsafe)` を使って `supportedStyleCount` の隔離確認をすべて無効化できます。 ```swift From 51505c83c04cb01ae9c79fc352889c19d2f422ae Mon Sep 17 00:00:00 2001 From: narumij Date: Wed, 14 Aug 2024 10:28:41 +0900 Subject: [PATCH 08/15] Remove LF --- Guide.docc/CommonProblems.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Guide.docc/CommonProblems.md b/Guide.docc/CommonProblems.md index 467ce56..e49ae36 100644 --- a/Guide.docc/CommonProblems.md +++ b/Guide.docc/CommonProblems.md @@ -87,8 +87,7 @@ var supportedStyleCount: Int { } ``` -もし変数が、コンパイラには見えない方法で同期され、保護されている場合、`nonisolated(unsafe)` を使って -`supportedStyleCount` の隔離確認をすべて無効化できます。 +もし変数が、コンパイラには見えない方法で同期され、保護されている場合、`nonisolated(unsafe)` を使って `supportedStyleCount` の隔離確認をすべて無効化できます。 ```swift /// `styleLock` を保持している間だけこの値にアクセスしてよい。 From 123e2796c8b671b69c012351efaf763d1918de25 Mon Sep 17 00:00:00 2001 From: narumij Date: Thu, 15 Aug 2024 07:39:39 +0900 Subject: [PATCH 09/15] polishing text --- Guide.docc/CommonProblems.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Guide.docc/CommonProblems.md b/Guide.docc/CommonProblems.md index e49ae36..f99d009 100644 --- a/Guide.docc/CommonProblems.md +++ b/Guide.docc/CommonProblems.md @@ -87,7 +87,7 @@ var supportedStyleCount: Int { } ``` -もし変数が、コンパイラには見えない方法で同期され、保護されている場合、`nonisolated(unsafe)` を使って `supportedStyleCount` の隔離確認をすべて無効化できます。 +もし、この変数を保護するための同期が、コンパイラからは見えない形で行われている場合、`nonisolated(unsafe)` を使って `supportedStyleCount` の隔離確認をすべて無効化できます。 ```swift /// `styleLock` を保持している間だけこの値にアクセスしてよい。 From d2d70bb87cf5a120962bf1a0974a97ff77304717 Mon Sep 17 00:00:00 2001 From: narumij Date: Fri, 16 Aug 2024 11:24:47 +0900 Subject: [PATCH 10/15] =?UTF-8?q?=E3=81=82=E3=82=89=E3=81=9F=E3=81=AA?= =?UTF-8?q?=E7=AE=87=E6=89=80=E3=81=AE=E6=8F=90=E6=A1=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Guide.docc/CommonProblems.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Guide.docc/CommonProblems.md b/Guide.docc/CommonProblems.md index f99d009..cc187d7 100644 --- a/Guide.docc/CommonProblems.md +++ b/Guide.docc/CommonProblems.md @@ -692,7 +692,7 @@ error: call to actor-isolated instance method 'stopNotifications()' in a synchro 9 | } ``` -この型がアクターであるために意外に感じるかもしれませんが、これは新しい制約ではありません。 +この型がアクターであるため意外に感じるかもしれませんが、ここに新しい制約はありません。 デイニシャライザを実行するスレッドが過去に保証されたことはなく、Swiftのデータ隔離が今その事実を表面化させただけです。 多くの場合、 `deinit` 内で行なわれる作業が同期的である必要はありません。 From 4ce43da20edf97d397e56a9e18236020847a00bf Mon Sep 17 00:00:00 2001 From: narumij Date: Fri, 16 Aug 2024 11:40:19 +0900 Subject: [PATCH 11/15] polishing text --- Guide.docc/CommonProblems.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Guide.docc/CommonProblems.md b/Guide.docc/CommonProblems.md index cc187d7..3c7552e 100644 --- a/Guide.docc/CommonProblems.md +++ b/Guide.docc/CommonProblems.md @@ -692,7 +692,7 @@ error: call to actor-isolated instance method 'stopNotifications()' in a synchro 9 | } ``` -この型がアクターであるため意外に感じるかもしれませんが、ここに新しい制約はありません。 +この型がアクターであるため意外に感じるかもしれませんが、これは新しい制約になっていません。 デイニシャライザを実行するスレッドが過去に保証されたことはなく、Swiftのデータ隔離が今その事実を表面化させただけです。 多くの場合、 `deinit` 内で行なわれる作業が同期的である必要はありません。 From 29162e1085b40eaed030b935148eff425960cdae Mon Sep 17 00:00:00 2001 From: narumij Date: Fri, 16 Aug 2024 11:42:15 +0900 Subject: [PATCH 12/15] polishing text --- Guide.docc/CommonProblems.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Guide.docc/CommonProblems.md b/Guide.docc/CommonProblems.md index 3c7552e..3b9ba49 100644 --- a/Guide.docc/CommonProblems.md +++ b/Guide.docc/CommonProblems.md @@ -692,7 +692,7 @@ error: call to actor-isolated instance method 'stopNotifications()' in a synchro 9 | } ``` -この型がアクターであるため意外に感じるかもしれませんが、これは新しい制約になっていません。 +この型がアクターであるため意外に感じるかもしれませんが、ここは新しい制約になっていません。 デイニシャライザを実行するスレッドが過去に保証されたことはなく、Swiftのデータ隔離が今その事実を表面化させただけです。 多くの場合、 `deinit` 内で行なわれる作業が同期的である必要はありません。 From 4dafd5804d0c42993719e51211b38df6f0179f20 Mon Sep 17 00:00:00 2001 From: narumij Date: Fri, 16 Aug 2024 14:07:16 +0900 Subject: [PATCH 13/15] polishing text --- Guide.docc/CommonProblems.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Guide.docc/CommonProblems.md b/Guide.docc/CommonProblems.md index 3b9ba49..44f7dfd 100644 --- a/Guide.docc/CommonProblems.md +++ b/Guide.docc/CommonProblems.md @@ -664,7 +664,7 @@ class WindowStyler { すべての `Sendable` なプロパティはこの `init` メソッドのなかで依然として安全にアクセスできます。 また、 非 `Sendable` なプロパティは初期化できないもののデフォルト式を使えば初期化できます。 -### 非隔離のデイニシャライゼーション +### デイニシャライゼーションの非隔離 アクター隔離を持つ型であっても、デイニシャライザは _常に_ 非隔離です。 @@ -674,7 +674,7 @@ actor BackgroundStyler { private let store = StyleStore() deinit { - // ここは非隔離 + // これは非隔離 store.stopNotifications() } } @@ -692,7 +692,7 @@ error: call to actor-isolated instance method 'stopNotifications()' in a synchro 9 | } ``` -この型がアクターであるため意外に感じるかもしれませんが、ここは新しい制約になっていません。 +この型がアクターであるため意外に感じられるかもしれませんが、これは新しい制約になっていません。 デイニシャライザを実行するスレッドが過去に保証されたことはなく、Swiftのデータ隔離が今その事実を表面化させただけです。 多くの場合、 `deinit` 内で行なわれる作業が同期的である必要はありません。 @@ -705,7 +705,7 @@ actor BackgroundStyler { private let store = StyleStore() deinit { - // ここはアクター隔離されていないのでタスクが引き継ぐものはない + // ここにアクター隔離はないので、タスクに引き継がれる隔離もない Task { [store] in await store.stopNotifications() } From b63f7ff32b6ccd0850af99ad11b8681d9b2d2a10 Mon Sep 17 00:00:00 2001 From: narumij Date: Fri, 16 Aug 2024 21:15:18 +0900 Subject: [PATCH 14/15] =?UTF-8?q?=E3=83=AC=E3=83=93=E3=83=A5=E3=83=BC?= =?UTF-8?q?=E5=8F=8D=E6=98=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Guide.docc/CommonProblems.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Guide.docc/CommonProblems.md b/Guide.docc/CommonProblems.md index 44f7dfd..92acdf3 100644 --- a/Guide.docc/CommonProblems.md +++ b/Guide.docc/CommonProblems.md @@ -664,7 +664,7 @@ class WindowStyler { すべての `Sendable` なプロパティはこの `init` メソッドのなかで依然として安全にアクセスできます。 また、 非 `Sendable` なプロパティは初期化できないもののデフォルト式を使えば初期化できます。 -### デイニシャライゼーションの非隔離 +### デイニシャライゼーションは非隔離 アクター隔離を持つ型であっても、デイニシャライザは _常に_ 非隔離です。 From b4f18d85d01d29d9f1bc9c33be8a680a44591ddb Mon Sep 17 00:00:00 2001 From: narumij Date: Sat, 17 Aug 2024 08:39:40 +0900 Subject: [PATCH 15/15] Update Guide.docc/CommonProblems.md Co-authored-by: shiz <35151927+stzn@users.noreply.github.com> --- Guide.docc/CommonProblems.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Guide.docc/CommonProblems.md b/Guide.docc/CommonProblems.md index 92acdf3..15ac231 100644 --- a/Guide.docc/CommonProblems.md +++ b/Guide.docc/CommonProblems.md @@ -705,7 +705,7 @@ actor BackgroundStyler { private let store = StyleStore() deinit { - // ここにアクター隔離はないので、タスクに引き継がれる隔離もない + // ここにアクター隔離はないので、タスクに引き継がれる隔離コンテキストもない Task { [store] in await store.stopNotifications() }