Skip to content

Commit 4be3172

Browse files
committed
Add test cases for protected constructors in super call arguments
1 parent 05c0b52 commit 4be3172

File tree

1 file changed

+17
-0
lines changed

1 file changed

+17
-0
lines changed
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
class A protected (x: Int)
2+
3+
// Protected constructor in super call arguments (transitive parent)
4+
class B(a: A) extends A(a.hashCode)
5+
class C extends B(new A(1)) // error
6+
7+
// Protected constructor in own parent's arguments
8+
class D protected (x: Any)
9+
class E extends D(new D(1)) // error
10+
11+
// Mixed visibility constructors
12+
class F protected (x: Int) {
13+
def this() = this(0) // public secondary
14+
}
15+
class G(f: F) extends F(f.hashCode)
16+
class H extends G(new F()) // ok: public secondary in super args
17+
class J extends G(new F(1)) // error: protected primary in super args

0 commit comments

Comments
 (0)