Skip to content

Commit f3d7b34

Browse files
committed
Fix #7986: Propagate cyclic reference errors for extension methods
Propagate cyclic reference errors when searching extension methods
1 parent 842e4c4 commit f3d7b34

File tree

3 files changed

+7
-0
lines changed

3 files changed

+7
-0
lines changed

compiler/src/dotty/tools/dotc/typer/Typer.scala

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3056,6 +3056,7 @@ class Typer extends Namer
30563056
case _ => EmptyTree
30573057
}
30583058
catch {
3059+
case ex: CyclicReference => throw ex
30593060
case ex: TypeError => errorTree(tree, ex, tree.sourcePos)
30603061
}
30613062
val nestedCtx = ctx.fresh.setNewTyperState()

tests/neg/i7986.scala

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
case class Project(name: String)
2+
def (name: String) dependencies = ???
3+
def (project: Project) dependencies = project.name.dependencies // error: needs return type

tests/pos/i7986.scala

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
case class Project(name: String)
2+
def (name: String) dependencies: String = ???
3+
def (project: Project) dependencies: String = project.name.dependencies

0 commit comments

Comments
 (0)