summaryrefslogtreecommitdiff
path: root/test/files/neg/t3481.scala
diff options
context:
space:
mode:
authorSimon Ochsenreither <simon@ochsenreither.de>2011-12-02 03:48:44 +0100
committerPaul Phillips <paulp@improving.org>2011-12-02 05:56:42 -0800
commit6ecca6d2b56918c202627bf95c40f3b7465bb808 (patch)
tree05682f3abcc147a1577f3a76d33d3297bc726383 /test/files/neg/t3481.scala
parent947797ea23d711e501605c0cc218fec88e3b97ef (diff)
downloadscala-6ecca6d2b56918c202627bf95c40f3b7465bb808.tar.gz
scala-6ecca6d2b56918c202627bf95c40f3b7465bb808.tar.bz2
scala-6ecca6d2b56918c202627bf95c40f3b7465bb808.zip
Tests for SI-3481.
Closes SI-3481.
Diffstat (limited to 'test/files/neg/t3481.scala')
-rw-r--r--test/files/neg/t3481.scala28
1 files changed, 28 insertions, 0 deletions
diff --git a/test/files/neg/t3481.scala b/test/files/neg/t3481.scala
new file mode 100644
index 0000000000..f4b781ee37
--- /dev/null
+++ b/test/files/neg/t3481.scala
@@ -0,0 +1,28 @@
+object t3481 {
+ object ex1 {
+ trait A[T] { type B = T }
+ def f[T <: A[_]](a: T#B) = 1
+ f[A[Int]]("hello")
+ }
+
+ object ex2 {
+ trait A { type T; def m(t: T) = t.toString }
+ class B[T2] extends A { type T = T2 }
+ def f[T <: B[_]](a: T#T, b: T) = b.m(a)
+ f("Hello", new B[Int])
+ }
+
+ object ex3 {
+ class B[T] { type T2 = T; def m(t: T2) = t.toString }
+ val b: B[_] = new B[Int]
+ b.m("Hello")
+ }
+
+ object ex4 {
+ abstract class B[T] { type T2 = T; def m(t: T2): Any }
+ object Test {
+ val b: B[_] = sys.error("")
+ b.m("Hello")
+ }
+ }
+} \ No newline at end of file