blob: 1fe3f5696fcb5c1081f6dc50c5b7edfeaf35b334 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
// private types and terms of companion module are
// available in scope of ctor params.
// before 2.10.1, class B in object A cannot be accessed in object A
object A {
private class B
private val b: B = new B
private type C = Int
def apply(): A = new A()
}
// if not private, then default arg results in:
// private class B escapes its defining scope as part of type A.B
class A private (b: A.B = A.b, c: A.C = 42)
object C {
private class B
}
class C(b: C.B)
|