Traits
-
Similar to interfaces in other languages
-
Group of method signatures
-
Default implementations
-
Orphan rule: you can't implement external trait on external types
-
Generic support
-
Traits as parameters
-
Trait bound
-
Blanket implementation