On Wed, Apr 16, 2014 at 04:49:25PM -0700, Ben Striegel wrote:
> Not only does it necessarily restrict the possible types that can appear as the first parameter to static methods, but it also means that you may need to consult the trait definition itself to determine whether a method is static. Even in the common case I think it's simply harder to scan for a type containing `Self` than just having the `self` keyword.

Don't forget about UFCS. There is no such thing as a static or
instance method going forward anyway, there are just associated fns on
traits. All associated fns can be directly invoked via a syntax like
`Trait::method(...)` (or, eventually, `Self::method(...)`). The
question is what subset can be used with method syntax.