Skip to content

Commit

Permalink
Revert "Drop inaccessible subclasses from refineUsingParent"
Browse files Browse the repository at this point in the history
  • Loading branch information
hamzaremmal authored Nov 6, 2024
1 parent 63849a0 commit cecd053
Show file tree
Hide file tree
Showing 3 changed files with 2 additions and 20 deletions.
2 changes: 1 addition & 1 deletion compiler/src/dotty/tools/dotc/core/Decorators.scala
Original file line number Diff line number Diff line change
Expand Up @@ -292,7 +292,7 @@ object Decorators {
case _ => String.valueOf(x).nn

/** Returns the simple class name of `x`. */
def className: String = if x == null then "<null>" else x.getClass.getSimpleName.nn
def className: String = x.getClass.getSimpleName.nn

extension [T](x: T)
def assertingErrorsReported(using Context): T = {
Expand Down
6 changes: 1 addition & 5 deletions compiler/src/dotty/tools/dotc/core/TypeOps.scala
Original file line number Diff line number Diff line change
Expand Up @@ -930,11 +930,7 @@ object TypeOps:
for tp <- mixins.reverseIterator do
protoTp1 <:< tp
maximizeType(protoTp1, NoSpan)
val inst = wildApprox(protoTp1)
if !inst.classSymbol.exists then
// E.g. i21790, can't instantiate S#CA as a subtype of O.A, because O.CA isn't accessible
NoType
else inst
wildApprox(protoTp1)
}

if (protoTp1 <:< tp2) instantiate()
Expand Down
14 changes: 0 additions & 14 deletions tests/pos/i21790.scala

This file was deleted.

0 comments on commit cecd053

Please sign in to comment.