File tree 1 file changed +9
-1
lines changed
compiler/src/dotty/tools/dotc/core
1 file changed +9
-1
lines changed Original file line number Diff line number Diff line change @@ -1888,7 +1888,15 @@ object Types {
1888
1888
case st => st
1889
1889
}
1890
1890
1891
- /** Same as superType, except that opaque types are treated as transparent aliases */
1891
+ /** Same as superType, except for two differences:
1892
+ * - opaque types are treated as transparent aliases
1893
+ * - applied type are matchtype-reduced if possible
1894
+ *
1895
+ * Note: the reason to reduce match type aliases here and not in `superType`
1896
+ * is that `superType` is context-independent and cached, whereas matchtype
1897
+ * reduction depends on context and should not be cached (at least not without
1898
+ * the very specific cache invalidation condition for matchtypes).
1899
+ */
1892
1900
def translucentSuperType (using Context ): Type = superType
1893
1901
}
1894
1902
You can’t perform that action at this time.
0 commit comments