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) } ) }