We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 19215a8 commit 37c2dccCopy full SHA for 37c2dcc
src/dotty/tools/dotc/transform/Erasure.scala
@@ -403,8 +403,13 @@ object Erasure extends TypeTestsCasts{
403
override def typedTry(tree: untpd.Try, pt: Type)(implicit ctx: Context) =
404
super.typedTry(tree, adaptProto(tree, pt))
405
406
- private def adaptProto(tree: untpd.Tree, pt: Type)(implicit ctx: Context) =
407
- if (pt.isValueType) pt else erasure(tree.typeOpt)
+ private def adaptProto(tree: untpd.Tree, pt: Type)(implicit ctx: Context) = {
+ if (pt.isValueType) pt else {
408
+ if(tree.typeOpt.derivesFrom(ctx.definitions.UnitClass))
409
+ tree.typeOpt
410
+ else erasure(tree.typeOpt)
411
+ }
412
413
414
override def typedValDef(vdef: untpd.ValDef, sym: Symbol)(implicit ctx: Context): ValDef =
415
super.typedValDef(untpd.cpy.ValDef(vdef)(
0 commit comments