diff options
Diffstat (limited to 'test')
-rw-r--r-- | test/files/neg/bug1275.check | 4 | ||||
-rw-r--r-- | test/files/neg/bug1275.scala | 14 |
2 files changed, 18 insertions, 0 deletions
diff --git a/test/files/neg/bug1275.check b/test/files/neg/bug1275.check new file mode 100644 index 0000000000..6ff92a7823 --- /dev/null +++ b/test/files/neg/bug1275.check @@ -0,0 +1,4 @@ +bug1275.scala:13: error: The kind of type MyType does not conform to the expected kind of type MyType[+t] <: TestCovariance.this.Seq[t] in trait Seq. + def span[a, s <: Seq[a] { type MyType <: s } ](xs: s): s = xs f + ^ +one error found diff --git a/test/files/neg/bug1275.scala b/test/files/neg/bug1275.scala new file mode 100644 index 0000000000..04c66400c8 --- /dev/null +++ b/test/files/neg/bug1275.scala @@ -0,0 +1,14 @@ +// tested using Scala compiler version 2.6.0-RC1 -- (c) 2002-2007 LAMP/EPFL + +// prompted by "Covariant return types" mailing list question +object TestCovariance { + + // see Type constructor polymorphism in http://www.scala-lang.org/docu/changelog.html + trait Seq[+t] { + type MyType[+t] <: Seq[t] + + def f: MyType[t] + } + + def span[a, s <: Seq[a] { type MyType <: s } ](xs: s): s = xs f +} |