mozilla/rust — pull request #8669 by lkuper (2013-08-21 17:34:59+00:00)
Title: Refactor type combining to use default methods.  Woohoo!

This commit removes the "super_*" functions from
typeck::infer::combine, and adds them as default methods on the
Combine trait instead, making it possible to remove a lot of
boilerplate from the various impls of Combine.

I've been wanting to do this for over a year. In fact, it was my
original motivation for default methods!

It might be possible to tighten things up even more, but this is the
bulk of it.