aboutsummaryrefslogtreecommitdiff
path: root/tests/neg/overrides.scala
diff options
context:
space:
mode:
Diffstat (limited to 'tests/neg/overrides.scala')
-rw-r--r--tests/neg/overrides.scala59
1 files changed, 59 insertions, 0 deletions
diff --git a/tests/neg/overrides.scala b/tests/neg/overrides.scala
new file mode 100644
index 000000000..4befe1623
--- /dev/null
+++ b/tests/neg/overrides.scala
@@ -0,0 +1,59 @@
+ abstract class FooA {
+ type A <: Ax;
+ abstract class Ax;
+ abstract class InnerA {
+ type B <: A;
+ def doB : B;
+ }
+ }
+ trait FooB extends FooA {
+ type A <: Ax;
+ trait Ax extends super.Ax { def xxx : Int; }
+ abstract class InnerB extends InnerA {
+ // type B <: A;
+ val a : A = doB;
+ a.xxx;
+ doB.xxx;
+ }
+ }
+
+package p1 {
+ abstract class T1 {
+ protected def bug(p: Int = 1): Int // without 'protected' compiles fine
+ }
+}
+package p2 { // all being in the same package compiles fine
+ import p1._
+ abstract class T2 extends T1 {
+ class A {
+ bug()
+ }
+ }
+
+ abstract class T3 extends T2 {
+ class A {
+ bug()
+ }
+ }
+}
+
+class A[T] {
+
+ def f(x: T)(y: T = x) = y
+
+}
+
+class B extends A[Int] {
+
+ def f(x: Int)(y: Int) = y
+
+ f(2)()
+
+}
+
+class X {
+ def f: A[Int] = ???
+}
+class Y extends X {
+ def f: A[Int] = ???
+}