diff options
author | Guillaume Martres <smarter@ubuntu.com> | 2015-06-22 20:50:19 +0200 |
---|---|---|
committer | Guillaume Martres <smarter@ubuntu.com> | 2015-06-24 10:28:36 +0200 |
commit | 428c6918f948e3b4e1107487a96fafc24c535e4e (patch) | |
tree | 76c5d6b8a961e69882b8a0b254766ea60594e680 /src/dotty/tools/dotc/transform/ExtensionMethods.scala | |
parent | 0fba8757b444d96c748df1e034d39f7626a39d1e (diff) | |
download | dotty-428c6918f948e3b4e1107487a96fafc24c535e4e.tar.gz dotty-428c6918f948e3b4e1107487a96fafc24c535e4e.tar.bz2 dotty-428c6918f948e3b4e1107487a96fafc24c535e4e.zip |
TypeErasure#erasure: do not semi-erase types by default
This method can be called from other phases than Erasure, and in most
cases we do not want the result to be semi-erased as this is an
implementation details of value classes only useful to do type
adaptation in the Erasure phase.
Diffstat (limited to 'src/dotty/tools/dotc/transform/ExtensionMethods.scala')
-rw-r--r-- | src/dotty/tools/dotc/transform/ExtensionMethods.scala | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/dotty/tools/dotc/transform/ExtensionMethods.scala b/src/dotty/tools/dotc/transform/ExtensionMethods.scala index 36a1b9b30..503016d8b 100644 --- a/src/dotty/tools/dotc/transform/ExtensionMethods.scala +++ b/src/dotty/tools/dotc/transform/ExtensionMethods.scala @@ -65,7 +65,7 @@ class ExtensionMethods extends MiniPhaseTransform with DenotTransformer with Ful } } - val underlying = erasure(underlyingOfValueClass(valueClass)) + val underlying = erasure(underlyingOfValueClass(valueClass), semiEraseVCs = true) val evt = ErasedValueType(valueClass, underlying) val u2evtSym = ctx.newSymbol(moduleSym, nme.U2EVT, Synthetic | Method, MethodType(List(nme.x_0), List(underlying), evt)) |