Receiver

Receiver (메서드 수신자 가능 트레이트)

구조체가 메서드 수신자로 사용될 수 있음을 나타내는 트레이트예요.

출처: Rust 공식 문서

본문

즉, 타입이 이 타입을 self의 타입으로 사용할 수 있어요. 예:

use std::ops::Receiver;

struct SmartPointer<T>(T);
impl<T> Receiver for SmartPointer<T> {
    type Target = T;
}

struct MyContainedType;
impl MyContainedType {
    fn method(self: SmartPointer<Self>) { /* ... */ }
}
pub trait Receiver {
    type Target: ?Sized;
}

더 알아보기 (Learn more)

Rust 공식 문서