summaryrefslogtreecommitdiff
path: root/test/files/run/t3888.scala
blob: b1932ffb20bcb5c8a06b8c03e20799e975b5df4c (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
case class Tuple2[+T1, +T2](_1: T1, _2: T2) extends Product2[T1, T2]

// in a match, which notion of equals prevails?
// extending Tuple doesn't seem to be at issue here.
object Test {

  val T1 = new P
  private[this] val T2 = T1

  def m1 =
    Tuple2(1, 2) match {
      case T1 => true
      case _ => false
    }

  def m2 =
    Tuple2(1, 2) match {
      case T2 => true
      case _ => false
    }

  def main(args: Array[String]) = {
    assert( m1 )
    assert( m2 )
  }
}

class P extends Tuple2(1, 1) {
  override def equals(x: Any) = true
}