[[Rustの外部トレイトは外部の型には実装できない]]という制約があるが、[[ニュータイプパターン]]を使用してこれを回避する。 ```rust use std::fmt::{Display, Formatter}; // WStringでStringをラップ struct WString(String); // WString impl Display for WString { fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result { write!(f, "{}", self.0) } } fn main() { println!("{}", WString("hoge".to_string())); } ``` [[Rustの外部トレイトは内部の型に実装できる]]。よって、[[外部トレイト]]である[[Displayトレイト]]は、内部の型である`WString`に実装できる。