as_ と _ref: 参照変換
// 著作権 2025 Google LLC // SPDX-License-Identifier: Apache-2.0 impl<T> Rc<T> { // コンテナ型では非常によく見られます。Option にもあることに注目してください。 fn as_ref(&self) -> &T; fn as_ptr(&self) -> *const T; } impl<T> Option<T> { fn as_ref(&self) -> Option<&T>; fn as_slice(&self) -> &[T]; }
-
含まれているデータの主要部分への借用を返すメソッド。
-
借用関係はたいてい単純です。戻り値は
selfを借用する参照です。 -
返される値が
selfを借用するのは、論理的な意味に限られる場合もあります。たとえば、as_ptr()メソッドは unsafe なポインタを返します。借用チェッカーはポインタに対する借用を追跡しません。 -
asメソッドを実装する型は、借用して取り出される 1 つの主要なデータを含んでいるべきです。-
データ型が、明確な主要部分を持たない多数のフィールドの集合体である場合、
asという命名規則は機能しません。 -
区別する必要がある 2 つの参照ゲッターがある場合は、
_ref接尾辞を使います。
-