Skip to content

Commit f479be1

Browse files
committed
Fix tests to conform to new behavior
1 parent 9c46f72 commit f479be1

File tree

2 files changed

+18
-21
lines changed

2 files changed

+18
-21
lines changed

tests/neg/overrides.scala

Lines changed: 0 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -79,27 +79,6 @@ class X3 {
7979
override type T = A1 // error: overrides nothing
8080
}
8181

82-
package p3 {
83-
84-
// Dotty change of rules: Toverrider#f does not
85-
// override TCommon#f, hence the accidental override rule
86-
// applies.
87-
trait TCommon {
88-
def f: String
89-
}
90-
91-
class C1 extends TCommon {
92-
def f = "in C1"
93-
}
94-
95-
trait TOverrider { this: TCommon =>
96-
override def f = "in TOverrider" // The overridden self-type member...
97-
}
98-
99-
class C2 extends C1 with TOverrider // ... fails to override, here. // error: accidental override
100-
101-
}
102-
10382
package p4 {
10483

10584
abstract class C[T] { def head: T }

tests/pos/override-via-self.scala

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
// Question: Does TOverrider#f override TCommon#f?
2+
// If not, the accidental override rule applies.
3+
// Dotty used to say no, but with the change to baseClasses in AndTypes says
4+
// yes. Not sure what the right answer is. But in any case we should
5+
// keep the test to notice if there's a difference in behavior.
6+
trait TCommon {
7+
def f: String
8+
}
9+
class C1 extends TCommon {
10+
def f = "in C1"
11+
}
12+
13+
trait TOverrider { this: TCommon =>
14+
override def f = "in TOverrider" // The overridden self-type member...
15+
}
16+
17+
class C2 extends C1 with TOverrider // ... failed to override, here. But now it is OK.
18+

0 commit comments

Comments
 (0)