One thing to consider is, that A
doesn't have to be changed at to implement T2
. Unlike interfaces in other programming languages, traits don't have to be specified when defining the type. New traits can be added to a type anywhere, even in different crates.
The trait T2
could be a some obscure helper trait that you don't care about, defined in some random library that you use.