From 7871236ec02d8fbf4cc16c329c737d9e2ee682f3 Mon Sep 17 00:00:00 2001 From: Martin Odersky Date: Thu, 31 Mar 2016 11:50:49 +0200 Subject: merge variances and Variances --- tests/pos/variances.scala | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'tests/pos/variances.scala') diff --git a/tests/pos/variances.scala b/tests/pos/variances.scala index db858fd5d..7ab9fe72a 100644 --- a/tests/pos/variances.scala +++ b/tests/pos/variances.scala @@ -1,3 +1,18 @@ trait C[+T <: C[T, U], -U <: C[T, U]] { } +trait HasY { type Y } + +// This works in scalac. +trait Foo1[-X] { def bar[Y <: X](y: Y) = y } + +// A variant of Foo1 using a dependent method type (doesn't work using +// scalac) +trait Foo2[-X] { def bar(x: HasY { type Y <: X })(y: x.Y) = y } + +// This works in scalac. +trait Foo3[+X] { def bar[Y >: X](y: Y) = y } + +// A variant of Foo3 using a dependent method type (doesn't work +// using scalac) +trait Foo4[+X] { def bar(x: HasY { type Y >: X })(y: x.Y) = y } -- cgit v1.2.3