File tree Expand file tree Collapse file tree 3 files changed +10
-1
lines changed
compiler/src/dotty/tools/dotc/typer Expand file tree Collapse file tree 3 files changed +10
-1
lines changed Original file line number Diff line number Diff line change @@ -65,6 +65,9 @@ class ReTyper extends Typer with ReChecking {
65
65
override def typedTypeTree (tree : untpd.TypeTree , pt : Type )(implicit ctx : Context ): TypeTree =
66
66
promote(tree)
67
67
68
+ override def typedRefinedTypeTree (tree : untpd.RefinedTypeTree )(implicit ctx : Context ): TypTree =
69
+ promote(TypeTree (tree.tpe).withSpan(tree.span))
70
+
68
71
override def typedFunPart (fn : untpd.Tree , pt : Type )(implicit ctx : Context ): Tree =
69
72
typedExpr(fn, pt)
70
73
Original file line number Diff line number Diff line change @@ -1273,7 +1273,7 @@ class Typer extends Namer
1273
1273
assignType(cpy.SingletonTypeTree (tree)(ref1), ref1)
1274
1274
}
1275
1275
1276
- def typedRefinedTypeTree (tree : untpd.RefinedTypeTree )(implicit ctx : Context ): RefinedTypeTree = track(" typedRefinedTypeTree" ) {
1276
+ def typedRefinedTypeTree (tree : untpd.RefinedTypeTree )(implicit ctx : Context ): TypTree = track(" typedRefinedTypeTree" ) {
1277
1277
val tpt1 = if (tree.tpt.isEmpty) TypeTree (defn.ObjectType ) else typedAheadType(tree.tpt)
1278
1278
val refineClsDef = desugar.refinedTypeToClass(tpt1, tree.refinements).withSpan(tree.span)
1279
1279
val refineCls = createSymbol(refineClsDef).asClass
Original file line number Diff line number Diff line change
1
+ object Test {
2
+ class C { type T }
3
+ inline def foo [U ] <: Any = (??? : C { type T = U })
4
+
5
+ foo[Int ]
6
+ }
You can’t perform that action at this time.
0 commit comments