Skip to content

Commit 2362081

Browse files
committed
Merge pull request #432 from dotty-staging/patmat-options
Fix #431: Options make 2 steps of decoding instead of one
2 parents dbb48c8 + b8807ca commit 2362081

File tree

1 file changed

+7
-1
lines changed

1 file changed

+7
-1
lines changed

src/dotty/tools/dotc/transform/PatternMatcher.scala

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1556,7 +1556,13 @@ class PatternMatcher extends MiniPhaseTransform with DenotTransformer {thisTrans
15561556
//val spr = subPatRefs(binder)
15571557
assert(go && go1)
15581558
ref(binder) :: Nil
1559-
} else subPatRefs(binder)
1559+
} else {
1560+
lazy val getTp = extractorMemberType(binderTypeTested, nme.get)
1561+
if ((aligner.isSingle && aligner.extractor.prodArity == 1) && ((extractorMemberType(binderTypeTested, nme.isDefined) isRef defn.BooleanClass) && getTp.exists))
1562+
List(ref(binder))
1563+
else
1564+
subPatRefs(binder)
1565+
}
15601566
}
15611567

15621568
/*protected def spliceApply(binder: Symbol): Tree = {

0 commit comments

Comments
 (0)