|
Scala example source code file (bug576.scala)
The Scala bug576.scala source code
class A {
override def equals(other: Any) = other match {
case _: this.type => true
case _ => false
}
}
object Dingus {
def IamDingus = 5
}
object Test {
val x1 = new A
val x2 = new A
val x3 = new { self =>
override def equals(other : Any) = other match {
case that: self.type => true
case _ => false
}
}
val x4 = new { self =>
def f(x: Any) = x match {
case _: x1.type => 1
case _: x2.type => 2
case _: x3.type => 3
case _: self.type => 4
case x: Dingus.type => x.IamDingus
}
}
def main(args: Array[String]): Unit = {
assert(x1 == x1)
assert(x1 != x2)
assert(x1 != ())
assert(x2 != x1)
assert(x3 == x3)
assert(x3 != x2)
assert(x2 != x3)
List(x1, x2, x3, x4, Dingus) map x4.f foreach println
}
}
Other Scala examples (source code examples)Here is a short list of links related to this Scala bug576.scala source code file: |
| ... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2024 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.