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;
}