aboutsummaryrefslogtreecommitdiff
path: root/tests/neg/i705-inner-value-class.scala
blob: 82ac962b57be0d4582867602c23b52b268091287 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
class Foo {
  class B(val a: Int) extends AnyVal // error: value class may not be a member of another class
}

class VCwithBadMembers(val a: Int) extends AnyVal {
  def this() = this(1) // error: value class may not define secondary constructor
  var x = 0 // error: value class may not define non-parameter field
  val y = 2 // error: value class may not define non-parameter field
  println("hi") // error: value class may not contain initialization statements
}

object Test {
  class B(val a: Int) extends AnyVal // ok
  def f = {
    class C(val a: Int) extends AnyVal // error: value class may not be a local class
    new C(1)
  }
  class B1(val b: Int) extends B(b) // error: cannot extend final class B
//  class D extends B( { class E(val a: Int) extends AnyVal; new E(1) } )
}