Skip to content

Commit 29515c7

Browse files
committed
Refine closure extractor to handle Typed trees
1 parent 6bad77e commit 29515c7

File tree

2 files changed

+9
-0
lines changed

2 files changed

+9
-0
lines changed

compiler/src/dotty/tools/dotc/ast/TreeInfo.scala

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -527,6 +527,7 @@ trait TypedTreeInfo extends TreeInfo[Type] { self: Trees.Instance[Type] =>
527527
def unapply(tree: Tree): Option[(List[Tree], Tree, Tree)] = tree match {
528528
case Block(_, expr) => unapply(expr)
529529
case Closure(env, meth, tpt) => Some(env, meth, tpt)
530+
case Typed(expr, _) => unapply(expr)
530531
case _ => None
531532
}
532533
}

tests/pos/i3246.scala

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
class Test {
2+
class A {
3+
type T = Int
4+
def f(x: T): T = ???
5+
}
6+
def a: A = new A
7+
val f = a.f _
8+
}

0 commit comments

Comments
 (0)