aboutsummaryrefslogblamecommitdiff
path: root/tests/neg/i997.scala
blob: 8a21661fbf4c9d894ebd204a5f3e4934233f4cfa (plain) (tree)
1
2
3
4
5
6
7
8


                    
                      


                                  
                                 






































                                      
class C {

  private type T = E
  private type Tok = D
  private val p: C = new C

  def f1(x: T): Unit = () // error
  def f1(x: Tok): Unit = () // ok
  def f2(x: p.D): Unit = () // error

  val v1: T = ??? // error
  val v2: p.D = ??? // error

  type U1[X <: T] // error
  type U2 = T // error

  private class E {
    def f1ok(x: T): Unit = () // ok
    def f2ok(x: p.D): Unit = () // ok

    val v1ok: T = ??? // ok
    val v2ok: p.D = ??? // ok

    type U1ok[X <: T] //ok
    type U2ok = T //ok
  }

  class D extends E { // error
    def f1(x: T): Unit = () // error
    def f2(x: p.D): Unit = () // error

    val v1: T = ??? // error
    val v2: p.D = ??? // error

    type U1[X <: T] // error
    type U2 = T // error
  }

  class F(x: T) // error

  class G private (x: T) // ok

  private trait U

  class H extends U // error

}