|
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`.
|