Skip to content

Commit fe4974c

Browse files
Remove unreachable tupleExtractor method
1 parent f06be77 commit fe4974c

File tree

1 file changed

+1
-22
lines changed

1 file changed

+1
-22
lines changed

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

Lines changed: 1 addition & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1813,11 +1813,6 @@ class PatternMatcher extends MiniPhaseTransform with DenotTransformer {
18131813
}
18141814

18151815
object alignPatterns extends ScalacPatternExpander {
1816-
/** Converts a T => (A, B, C) extractor to a T => ((A, B, CC)) extractor.
1817-
*/
1818-
def tupleExtractor(extractor: Extractor): Extractor =
1819-
extractor.copy(fixed = defn.tupleType(extractor.fixed) :: Nil)
1820-
18211816
private def validateAligned(tree: Tree, aligned: Aligned): Aligned = {
18221817
import aligned._
18231818

@@ -1859,29 +1854,13 @@ class PatternMatcher extends MiniPhaseTransform with DenotTransformer {
18591854
}
18601855
val patterns = newPatterns(args)
18611856
val isSeq = sel.symbol.name == nme.unapplySeq
1862-
val isUnapply = sel.symbol.name == nme.unapply
18631857
val extractor = sel.symbol.name match {
18641858
case nme.unapply => unapplyMethodTypes(tree, /*fn*/sel, args, resultType, isSeq = false)
18651859
case nme.unapplySeq => unapplyMethodTypes(tree, /*fn*/sel, args, resultType, isSeq = true)
18661860
case _ => applyMethodTypes(/*fn*/sel.tpe)
18671861
}
18681862

1869-
/** Rather than let the error that is SI-6675 pollute the entire matching
1870-
* process, we will tuple the extractor before creation Aligned so that
1871-
* it contains known good values.
1872-
*/
1873-
def prodArity = extractor.prodArity
1874-
def acceptMessage = if (extractor.isErroneous) "" else s" to hold ${extractor.offeringString}"
1875-
val requiresTupling = isUnapply && patterns.totalArity == 1 && prodArity > 1
1876-
1877-
//if (requiresTupling && effectivePatternArity(args) == 1)
1878-
// currentUnit.deprecationWarning(sel.pos, s"${sel.symbol.owner} expects $prodArity patterns$acceptMessage but crushing into $prodArity-tuple to fit single pattern (SI-6675)")
1879-
1880-
val normalizedExtractor =
1881-
if (requiresTupling)
1882-
tupleExtractor(extractor)
1883-
else extractor
1884-
validateAligned(fn, Aligned(patterns, normalizedExtractor))
1863+
validateAligned(fn, Aligned(patterns, extractor))
18851864
}
18861865

18871866
def apply(tree: Tree, resultType: Type): Aligned = tree match {

0 commit comments

Comments
 (0)