Skip to content

Commit e0690b1

Browse files
committed
訳注の修正
1 parent 3313c4d commit e0690b1

File tree

1 file changed

+5
-6
lines changed

1 file changed

+5
-6
lines changed

1.6/ja/book/unsafe.md

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -87,9 +87,8 @@ desirable in your code, but are expressly _not_ unsafe:
8787
Rustの文脈で、安全とは「どのようなアンセーフなこともしない」ことを意味します。
8888

8989
> 訳注:
90-
この文脈における安全とは、メモリ安全性があることです。
91-
メモリ安全性のある処理は、決して未定義動作を起こしません。
92-
そして、メモリ安全性が保証されていないことを「アンセーフ」と呼びます。
90+
正確には、安全とは「決して未定義動作を起こさない」ということです。
91+
そして、安全性が保証されていないことを「アンセーフ」と呼びます。
9392
つまり、未定義動作が起きるおそれがあるなら、それはアンセーフです。
9493

9594
知っておくべき重要なことに、たいていのコードにおいて望ましくないが、アンセーフ _ではない_ とされている動作がいくらか存在するということがあります。
@@ -125,10 +124,10 @@ avoided, even when writing `unsafe` code:
125124

126125
> 訳注:
127126
関数に付いている`unsafe`は「その関数の処理はアンセーフである」ということを表します。
128-
その一方で、ブロックに付いている`unsafe`は「ブロック中の個々の操作はアンセーフだが、全体としてはメモリ安全性のある処理である」ということを表します。
127+
その一方で、ブロックに付いている`unsafe`は「ブロック中の個々の操作はアンセーフだが、全体としては安全な処理である」ということを表します。
129128
避ける必要があるのは、未定義動作が起こりうる処理をアンセーフブロックの中に書くことです。
130-
なぜなら、アンセーフブロックにメモリ安全性があると言うためには、その内部で未定義動作が決して起こらないことを保証する必要があるからです
131-
アンセーフ関数にはメモリ安全性がなくてもよいので、未定義動作が起こりうるアンセーフ関数を定義することに問題はありません。
129+
それは、アンセーフブロックの処理が安全であるために、その内部で未定義動作が決して起こらないことが必要だからです
130+
アンセーフ関数には安全性の保証が要らないので、未定義動作が起こりうるアンセーフ関数を定義することに問題はありません。
132131

133132
<!--
134133
* Data races

0 commit comments

Comments
 (0)