File tree Expand file tree Collapse file tree 1 file changed +5
-6
lines changed
Expand file tree Collapse file tree 1 file changed +5
-6
lines changed Original file line number Diff line number Diff line change @@ -87,9 +87,8 @@ desirable in your code, but are expressly _not_ unsafe:
8787Rustの文脈で、安全とは「どのようなアンセーフなこともしない」ことを意味します。
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
You can’t perform that action at this time.
0 commit comments