Deref 型強制を使った省力化について。

仕様

型強制では頻出の型変換を自動で行ってくれる。そして、自動化された変換の一つに、Deref トレイトの参照を自動で辿る機能がある。

より具体的には、型 TDeref<Target = U> の境界を持つ時に、&T から &U へと自動的に変換してくれる。

TIPS

上記の仕様により、通常の参照型で複数種のスマートポインタに対応できる。


use std::rc::Rc;

fn main() {
    test(&42);
    test(&Box::new(42));
    test(&Rc::new(42));
}

fn test(r: &i32) {
    println!("{}", r);
}