File tree Expand file tree Collapse file tree 2 files changed +1007
-4
lines changed
compiler/src/dotty/tools/dotc/transform/patmat Expand file tree Collapse file tree 2 files changed +1007
-4
lines changed Original file line number Diff line number Diff line change @@ -870,18 +870,19 @@ class SpaceEngine(using Context) extends SpaceLogic {
870870 project(OrType (selTyp, constantNullType, soft = false ))
871871
872872 // in redundancy check, take guard as false in order to soundly approximate
873- def projectPrevCases (cases : List [CaseDef ]): Space =
873+ def projectPrevCases (cases : List [CaseDef ]): List [ Space ] =
874874 cases.map { x =>
875875 if (x.guard.isEmpty) project(x.pat)
876876 else Empty
877- }.reduce((a, b) => Or ( List (a, b)))
877+ }
878878
879- (1 until cases.length).foreach { i =>
880- val prevs = projectPrevCases(cases.take(i))
879+ val spaces = projectPrevCases(cases)
881880
881+ (1 until cases.length).foreach { i =>
882882 val pat = cases(i).pat
883883
884884 if (pat != EmptyTree ) { // rethrow case of catch uses EmptyTree
885+ val prevs = Or (spaces.take(i))
885886 val curr = project(pat)
886887
887888 debug.println(s " ---------------reachable? ${show(curr)}" )
You can’t perform that action at this time.
0 commit comments