Skip to content

Commit 46585c4

Browse files
committed
Avoid cycle with F-bounded inner Java class
Fixes #13336.
1 parent 408e6d2 commit 46585c4

File tree

3 files changed

+12
-0
lines changed

3 files changed

+12
-0
lines changed

compiler/src/dotty/tools/dotc/core/classfile/ClassfileParser.scala

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1061,6 +1061,8 @@ class ClassfileParser(
10611061
}
10621062
else if (sym == classRoot.symbol)
10631063
instanceScope.lookup(name)
1064+
else if (sym == classRoot.symbol.owner && name == classRoot.name)
1065+
classRoot.symbol
10641066
else
10651067
sym.info.member(name).symbol
10661068

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
abstract class AbstractConfigurer {
2+
abstract class AbstractRegistry<R extends AbstractRegistry<R>> {}
3+
}
4+
5+
public final class Configurer_1 extends AbstractConfigurer {
6+
public final class Registry extends AbstractRegistry<Registry> {}
7+
public Registry registry() { return null; }
8+
}
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
object Test:
2+
def registry(cfg: Configurer_1) = cfg.registry

0 commit comments

Comments
 (0)