File: t5217.scala

package info (click to toggle)
scala 2.11.12-4
  • links: PTS, VCS
  • area: main
  • in suites: bullseye, buster
  • size: 62,776 kB
  • sloc: java: 13,415; xml: 3,252; sh: 1,620; python: 756; makefile: 38; awk: 36; ansic: 6
file content (17 lines) | stat: -rw-r--r-- 472 bytes parent folder | download | duplicates (4)
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)