1. 정적 메소드나 필드도 포함가능 이 경우 동적 디스페치가 불가능



2. impl 블록과 대상타입 선언이 분리돼있음


구현대상이나 trait중 하나만 라이브러리 안에있으면 어디서나 구현이 가능함

반대로 외부 라이브러리의 타입에 외부 라이브러리의 trait를 구현하는건 불가능



3. 제네릭 타입에 따라 구현하는 trait와 메소드들이 다를수있음


Vec<T>는 T: Clone일때만 Clone을 구현하고 T: Eq일때만 Eq를 구현함


그리고 T: Ord여야만 sort 메소드를 사용할수있음




4. 제네릭 타입에 대해서 trait를 구현할수있음





이렇게 해두면 Into<T>를 구현하는 모든 타입 U에 대해

T: TryFron<U>가 성립함



5. use를 안쓰고 baz.bar()식으로 그냥 쓸순없음

안쓰고 쓸려면 foo::Bar::bar(&baz) 식으로 모두 명시해야함