Open lrytz opened 2 weeks ago
scala> abstract case class C1(a: Int) | class C2(a: Int) extends C1(a) { override def productPrefix = "C2" } | class C3(a: Int) extends C1(a) { override def productPrefix = "C3" } scala> val s = collection.mutable.HashSet.empty[C1] scala> s.addOne(new C2(1)) scala> val c3 = new C3(1) scala> s.find(_ == c3) val res1: Option[C1] = Some(C2(1)) scala> s.contains(c3) val res2: Boolean = false
Alternatively, canEqual is broken and should include productPrefix.