>>203
Rustの標準ライブラリは全てその形でインターフェース抽象型に相当する形でジェネリックにコード共有で作られてる

例えばtrait Readは
抽象メソッドfn read(&mut self, buf: &mut [u8]) -> Result<usize>;を実装するとその型は
提供メソッドのread_to_end read_to_string read_bufなど14個のメソッドが自動的に使える

例えばtrait Iteratorは
抽象メソッドfn next(&mut self) -> Option<Self::Item>;を実装するとその型は
提供メソッドcount nth find filter map flat_map fold collectなど74個のメソッドが自動的に使える