rust-lang/rfcs — pull request #48 by nikomatsakis (2014-04-16 19:05:35+00:00)
Title: Add RFC for a more flexible, revised trait matching system

# Summary

Cleanup the trait, method, and operator semantics so that they are
well-defined and cover more use cases. A high-level summary of the
changes is as follows:

1. Full support for proper generic traits ("multiparemeter type classes"),
including a simplified version of functional dependencies that may
evolve into associated types in the future.
2. Generalize explicit self types beyond `&self` and `&mut self` etc,
so that self-type declarations like `self: Rc` become possible.
3. Expand coherence rules to operate recursively and distinguish
orphans more carefully.
4. Revise vtable resolution algorithm to be gradual.
5. Revise method resolution algorithm in terms of vtable resolution.