diff --git a/src/unbounded-lifetimes.md b/src/unbounded-lifetimes.md index 4114d8f..e8d991a 100644 --- a/src/unbounded-lifetimes.md +++ b/src/unbounded-lifetimes.md @@ -15,9 +15,9 @@ will fail to typecheck, but the unbound lifetime will perfectly mold into lifetime can be regarded as `'static`. --> -アンセーフなコードはときに、リファレンスやライフタイムを何も無いところから生み出したりします。 +アンセーフなコードはときに、参照やライフタイムを何も無いところから生み出したりします。 そのようなライフタイムは、*無制限* なライフタイムとして世界に登場します。 -最もよくあるのは、生のポインタのデリファンレンスし、無制限のライフタイムを持つ参照を作り出すというケースです。 +最もよくあるのは、生ポインタの参照外しをし、無制限のライフタイムを持つ参照を作り出すというケースです。 このライフタイムは、そのコンテキストが必要とするだけ大きくなります。そしてこれは `'static` よりも強力なしくみです。 `&'static &'a T` は型チェックをパスしませんが、無制限のライフタイムを使うと必要に応じて `&'a &'a T` となるからです。 しかし、ほとんどの意図と目的においては、無制限のライフタイムを `'static` と解釈できます。 @@ -68,5 +68,5 @@ in a function. 関数内部でライフタイムを制限することは、エラーを生みやすくなります。 ライフタイムを制限する安全で簡単な方法は、制限つきライフタイムの関数から返される値を使うことです。 -しかし、これができない場合は、そのリファレンスを特定のライフタイムがついた場所に置くと良いでしょう。 +しかし、これができない場合は、その参照を特定のライフタイムがついた場所に置くと良いでしょう。 残念ながら、関数内のすべてのライフタイムに名前をつけるのは不可能です。