aboutsummaryrefslogblamecommitdiff
path: root/tests/neg/i705-inner-value-class.scala
blob: 82ac962b57be0d4582867602c23b52b268091287 (plain) (tree)
1
2
3
4
5
6
7
8
9
           
                                                                                               

 
                                                   



                                                                                 

 


                                          
                                                                                     

            

                                                                         


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