Skip to content

Commit deac689

Browse files
Don't call flatten if not needed
1 parent b86af07 commit deac689

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

compiler/src/dotty/tools/dotc/transform/PureStats.scala

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,12 +21,12 @@ class PureStats extends MiniPhase {
2121
override def runsAfter: Set[String] = Set(Erasure.name)
2222

2323
override def transformBlock(tree: Block)(implicit ctx: Context): Tree =
24-
val stats = Trees.flatten(
25-
tree.stats.mapConserve {
24+
val stats = tree.stats.mapConserve {
2625
case Typed(Block(stats, expr), _) if isPureExpr(expr) => Thicket(stats)
2726
case stat if !stat.symbol.isConstructor && isPureExpr(stat) => EmptyTree
2827
case stat => stat
29-
})
30-
cpy.Block(tree)(stats, tree.expr)
28+
}
29+
if stats eq tree.stats then tree
30+
else cpy.Block(tree)(Trees.flatten(stats), tree.expr)
3131

3232
}

0 commit comments

Comments
 (0)