aboutsummaryrefslogtreecommitdiff
path: root/tests/pos/i2201c.scala
Commit message (Collapse)AuthorAgeFilesLines
* Fix #2201: Less aggressive type application reduction for better inferenceGuillaume Martres2017-04-081-0/+11
Previously we believed that reducing type applications did not affect type inference as long as the reduced type constructor had the same arity as the unreduced one, for example reducing `Foo[X, Y]` is fine when `Foo` is defined as: type Foo[A, B] = Bar[A, B] but not when it's defined as: type Foo[A] = Bar[A, A] But this is not a sufficient condition: the bounds of the type constructor arguments also matter for type inference, so we need to be more strict and disallow reductions in cases like: type Foo[A, B] = Bar[B, A] and: type Foo[A, B] = Bar[A, Int]