Trait
expresses a way to call something (think to an inteface). It CAN'T be instantiated.trait MyTrait { fn bar() {}
}
// WON'T WORK ❌
fn foo(myTrait: MyTrait) -> {
myTrait.bar();
}
// WILL WORK ✅
fn foo<T: MyTrait>(myTrait: T) -> {
myTrait.bar();
}