scala/scala — pull request #491 by axel22 (2012-05-07 14:36:40+00:00)
Title: Fixes SI-5629.

Adds an additional argument to the unify method in
specialization - `tparams`. When this parameter is set
to `true`, unification is done over type parameters in
poly types as well.

Additionally, the unification in specialization now
works over type bounds.

This ensures that in the below example:

trait Foo[@specialized(Int) A] {
def bar[B <: A](b: B) {}
}

class IntFoo extends Foo[Int] {
override def bar[B <: Int](b: B) {}
}

the method `bar` gets correctly determined
as a method that needs a special override
for its `bar$mcI$sp`.