diff options
author | Jason Zaugg <jzaugg@gmail.com> | 2015-05-27 14:29:51 +1000 |
---|---|---|
committer | Adriaan Moors <adriaan@lightbend.com> | 2017-01-09 16:06:49 -0800 |
commit | 8138e24bbdccacdfee9873c5a0e21afaf78c6369 (patch) | |
tree | 8476efc36b2535e7332e74d2fb85dcf03c87724c /test/files/pos/t7788.scala | |
parent | 4f5c30e10a16697edbe7bb6b4719ff09f5c3900b (diff) | |
download | scala-8138e24bbdccacdfee9873c5a0e21afaf78c6369.tar.gz scala-8138e24bbdccacdfee9873c5a0e21afaf78c6369.tar.bz2 scala-8138e24bbdccacdfee9873c5a0e21afaf78c6369.zip |
SI-9331 Fix canEqual for case classes with HK type params
Time for the courage of our convictions: follow the advice of my
TODO comment from SI-8244 / f62e280825 and fix `classExistentialType`
once and for all.
This is the change in the generated `canEquals` method in the test
case; we no longer get a kind conformance error.
```
--- sandbox/old.log 2015-05-27 14:31:27.000000000 +1000
+++ sandbox/new.log 2015-05-27 14:31:29.000000000 +1000
@@ -15,7 +15,7 @@
case _ => throw new IndexOutOfBoundsException(x$1.toString())
};
override <synthetic> def productIterator: Iterator[Any] = runtime.this.ScalaRunTime.typedProductIterator[Any](Stuff.this);
- <synthetic> def canEqual(x$1: Any): Boolean = x$1.$isInstanceOf[Stuff[Proxy[PP]]]();
+ <synthetic> def canEqual(x$1: Any): Boolean = x$1.$isInstanceOf[Stuff[_ <: [PP]Proxy[PP]]]();
override <synthetic> def hashCode(): Int = ScalaRunTime.this._hashCode(Stuff.this);
override <synthetic> def toString(): String = ScalaRunTime.this._toString(Stuff.this);
override <synthetic> def equals(x$1: Any): Boolean = x$1 match {
@@ -38,9 +38,3 @@
}
}
```
I also heeded my own advice to pass in a prefix to this method.
Diffstat (limited to 'test/files/pos/t7788.scala')
0 files changed, 0 insertions, 0 deletions