はじめに Rust をはじめてみて特によくわからなくて使っていて不安になっていたのは型変換関係の仕組みです。 String は &str として扱えますとか Vec<T> は &[T] として扱えますとかいうのは、そういうものなのかー便利だなーと思う半面、よくわからないなーこわいなーと感じていました。 この記事ではそんな型変換がよくわからなくてもやっとしている Rust 初心者が型変換関係の全貌をなんとなく把握して自信を持って扱うことができるようになるために、自動型変換や型変換関係のトレイトの利用パターンを 8 種類まとめてみました。 fn main() { let s: String = "hello".to_string(); // fn len(&self) -> usize を呼び出す // String -> &String に自動変換されて呼び出される assert_eq!(s