Skip to content

Can't build upstream cats with recent nightlies #12358

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
griggt opened this issue May 6, 2021 · 4 comments · Fixed by #12367
Closed

Can't build upstream cats with recent nightlies #12358

griggt opened this issue May 6, 2021 · 4 comments · Fixed by #12367

Comments

@griggt
Copy link
Contributor

griggt commented May 6, 2021

Compiler version

3.0.1-RC1-bin-SNAPSHOT-git-f4d139d

Problem

Attempting to build an upstream version of cats with recent nightlies results in the compiler getting stuck (infinite loop?) and GC thrashing. Increasing the heap size does not seem to help (I tried up to 10G from the current setting of 5G.)

This can be seen in #12357 (https://github.com/lampepfl/dotty/runs/2522051617?check_suite_focus=true#step:8:1430)

git bisect points to #12271 as the culprit.

Here's a stack trace while it's stuck:

2021-05-06 13:58:23
Full thread dump OpenJDK 64-Bit Server VM (25.292-b10 mixed mode):

"pool-10-thread-7" #113 prio=5 os_prio=0 tid=0x00007fc9f0ac1000 nid=0x1675 runnable [0x00007fc9b3e7a000]
   java.lang.Thread.State: RUNNABLE
	at java.lang.System.identityHashCode(Native Method)
	at dotty.tools.dotc.core.Hashable.identityHash(Hashable.scala:49)
	at dotty.tools.dotc.core.Hashable.identityHash$(Hashable.scala:38)
	at dotty.tools.dotc.core.Types$Type.identityHash(Types.scala:93)
	at dotty.tools.dotc.core.Types$TypeVar.computeHash(Types.scala:4517)
	at dotty.tools.dotc.core.Types$CachedProxyType.hash(Types.scala:1933)
	at dotty.tools.dotc.core.Hashable.typeHash(Hashable.scala:47)
	at dotty.tools.dotc.core.Hashable.typeHash$(Hashable.scala:38)
	at dotty.tools.dotc.core.Uniques$AppliedUniques.typeHash(Uniques.scala:56)
	at dotty.tools.dotc.core.Hashable.finishHash(Hashable.scala:68)
	at dotty.tools.dotc.core.Hashable.finishHash$(Hashable.scala:38)
	at dotty.tools.dotc.core.Uniques$AppliedUniques.finishHash(Uniques.scala:56)
	at dotty.tools.dotc.core.Hashable.finishHash(Hashable.scala:80)
	at dotty.tools.dotc.core.Hashable.finishHash$(Hashable.scala:38)
	at dotty.tools.dotc.core.Uniques$AppliedUniques.finishHash(Uniques.scala:56)
	at dotty.tools.dotc.core.Hashable.doHash(Hashable.scala:106)
	at dotty.tools.dotc.core.Hashable.doHash$(Hashable.scala:38)
	at dotty.tools.dotc.core.Uniques$AppliedUniques.doHash(Uniques.scala:56)
	at dotty.tools.dotc.core.Uniques$AppliedUniques.enterIfNew(Uniques.scala:60)
	at dotty.tools.dotc.core.Types$AppliedType$.apply(Types.scala:4219)
	at dotty.tools.dotc.core.TypeApplications$.appliedTo$extension(TypeApplications.scala:372)
	at dotty.tools.dotc.core.TypeOps$.instantiateToSubType(TypeOps.scala:781)
	at dotty.tools.dotc.core.TypeOps$.refineUsingParent(TypeOps.scala:682)
	at dotty.tools.dotc.transform.patmat.SpaceEngine.$anonfun$6(Space.scala:614)
	at dotty.tools.dotc.transform.patmat.SpaceEngine$$Lambda$7747/1965739441.apply(Unknown Source)
	at scala.collection.immutable.List.map(List.scala:246)
	at dotty.tools.dotc.transform.patmat.SpaceEngine.decompose(Space.scala:628)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.simplify(Space.scala:128)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.simplify$(Space.scala:78)
	at dotty.tools.dotc.transform.patmat.SpaceEngine.simplify(Space.scala:309)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace(Space.scala:171)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace$(Space.scala:78)
	at dotty.tools.dotc.transform.patmat.SpaceEngine.isSubspace(Space.scala:309)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace$$anonfun$4(Space.scala:189)
	at dotty.tools.dotc.transform.patmat.SpaceLogic$$Lambda$7800/1991893746.apply(Unknown Source)
	at scala.Function2.$anonfun$tupled$1(Function2.scala:53)
	at scala.Function2$$Lambda$7801/1830973505.apply(Unknown Source)
	at scala.collection.immutable.List.forall(List.scala:386)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace(Space.scala:189)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace$(Space.scala:78)
	at dotty.tools.dotc.transform.patmat.SpaceEngine.isSubspace(Space.scala:309)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace(Space.scala:187)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace$(Space.scala:78)
	at dotty.tools.dotc.transform.patmat.SpaceEngine.isSubspace(Space.scala:309)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace$$anonfun$2(Space.scala:179)
	at dotty.tools.dotc.transform.patmat.SpaceLogic$$Lambda$7759/150246554.apply(Unknown Source)
	at scala.collection.LinearSeqOps.exists(LinearSeq.scala:141)
	at scala.collection.LinearSeqOps.exists$(LinearSeq.scala:138)
	at scala.collection.immutable.LazyList.exists(LazyList.scala:240)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace(Space.scala:179)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace$(Space.scala:78)
	at dotty.tools.dotc.transform.patmat.SpaceEngine.isSubspace(Space.scala:309)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace$$anonfun$2(Space.scala:179)
	at dotty.tools.dotc.transform.patmat.SpaceLogic$$Lambda$7759/150246554.apply(Unknown Source)
	at scala.collection.immutable.List.exists(List.scala:395)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace(Space.scala:179)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace$(Space.scala:78)
	at dotty.tools.dotc.transform.patmat.SpaceEngine.isSubspace(Space.scala:309)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace$$anonfun$1(Space.scala:175)
	at dotty.tools.dotc.transform.patmat.SpaceLogic$$Lambda$7758/1672961942.apply(Unknown Source)
	at scala.collection.immutable.List.forall(List.scala:386)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace(Space.scala:175)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace$(Space.scala:78)
	at dotty.tools.dotc.transform.patmat.SpaceEngine.isSubspace(Space.scala:309)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.tryDecompose1$1(Space.scala:168)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace(Space.scala:179)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace$(Space.scala:78)
	at dotty.tools.dotc.transform.patmat.SpaceEngine.isSubspace(Space.scala:309)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace$$anonfun$4(Space.scala:189)
	at dotty.tools.dotc.transform.patmat.SpaceLogic$$Lambda$7800/1991893746.apply(Unknown Source)
	at scala.Function2.$anonfun$tupled$1(Function2.scala:53)
	at scala.Function2$$Lambda$7801/1830973505.apply(Unknown Source)
	at scala.collection.immutable.List.forall(List.scala:386)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace(Space.scala:189)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace$(Space.scala:78)
	at dotty.tools.dotc.transform.patmat.SpaceEngine.isSubspace(Space.scala:309)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace(Space.scala:187)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace$(Space.scala:78)
	at dotty.tools.dotc.transform.patmat.SpaceEngine.isSubspace(Space.scala:309)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace$$anonfun$2(Space.scala:179)
	at dotty.tools.dotc.transform.patmat.SpaceLogic$$Lambda$7759/150246554.apply(Unknown Source)
	at scala.collection.LinearSeqOps.exists(LinearSeq.scala:141)
	at scala.collection.LinearSeqOps.exists$(LinearSeq.scala:138)
	at scala.collection.immutable.LazyList.exists(LazyList.scala:240)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace(Space.scala:179)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace$(Space.scala:78)
	at dotty.tools.dotc.transform.patmat.SpaceEngine.isSubspace(Space.scala:309)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace$$anonfun$1(Space.scala:175)
	at dotty.tools.dotc.transform.patmat.SpaceLogic$$Lambda$7758/1672961942.apply(Unknown Source)
	at scala.collection.immutable.List.forall(List.scala:386)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace(Space.scala:175)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace$(Space.scala:78)
	at dotty.tools.dotc.transform.patmat.SpaceEngine.isSubspace(Space.scala:309)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.tryDecompose1$1(Space.scala:168)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace(Space.scala:179)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace$(Space.scala:78)
	at dotty.tools.dotc.transform.patmat.SpaceEngine.isSubspace(Space.scala:309)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace$$anonfun$2(Space.scala:179)
	at dotty.tools.dotc.transform.patmat.SpaceLogic$$Lambda$7759/150246554.apply(Unknown Source)
	at scala.collection.immutable.List.exists(List.scala:395)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace(Space.scala:179)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace$(Space.scala:78)
	at dotty.tools.dotc.transform.patmat.SpaceEngine.isSubspace(Space.scala:309)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace$$anonfun$4(Space.scala:189)
	at dotty.tools.dotc.transform.patmat.SpaceLogic$$Lambda$7800/1991893746.apply(Unknown Source)
	at scala.Function2.$anonfun$tupled$1(Function2.scala:53)
	at scala.Function2$$Lambda$7801/1830973505.apply(Unknown Source)
	at scala.collection.immutable.List.forall(List.scala:386)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace(Space.scala:189)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace$(Space.scala:78)
	at dotty.tools.dotc.transform.patmat.SpaceEngine.isSubspace(Space.scala:309)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace(Space.scala:187)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace$(Space.scala:78)
	at dotty.tools.dotc.transform.patmat.SpaceEngine.isSubspace(Space.scala:309)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace$$anonfun$2(Space.scala:179)
	at dotty.tools.dotc.transform.patmat.SpaceLogic$$Lambda$7759/150246554.apply(Unknown Source)
	at scala.collection.LinearSeqOps.exists(LinearSeq.scala:141)
	at scala.collection.LinearSeqOps.exists$(LinearSeq.scala:138)
	at scala.collection.immutable.LazyList.exists(LazyList.scala:240)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace(Space.scala:179)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace$(Space.scala:78)
	at dotty.tools.dotc.transform.patmat.SpaceEngine.isSubspace(Space.scala:309)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace$$anonfun$2(Space.scala:179)
	at dotty.tools.dotc.transform.patmat.SpaceLogic$$Lambda$7759/150246554.apply(Unknown Source)
	at scala.collection.immutable.List.exists(List.scala:395)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace(Space.scala:179)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace$(Space.scala:78)
	at dotty.tools.dotc.transform.patmat.SpaceEngine.isSubspace(Space.scala:309)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace$$anonfun$1(Space.scala:175)
	at dotty.tools.dotc.transform.patmat.SpaceLogic$$Lambda$7758/1672961942.apply(Unknown Source)
	at scala.collection.immutable.List.forall(List.scala:386)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace(Space.scala:175)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace$(Space.scala:78)
	at dotty.tools.dotc.transform.patmat.SpaceEngine.isSubspace(Space.scala:309)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.tryDecompose1$1(Space.scala:168)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace(Space.scala:179)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace$(Space.scala:78)
	at dotty.tools.dotc.transform.patmat.SpaceEngine.isSubspace(Space.scala:309)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace$$anonfun$4(Space.scala:189)
	at dotty.tools.dotc.transform.patmat.SpaceLogic$$Lambda$7800/1991893746.apply(Unknown Source)
	at scala.Function2.$anonfun$tupled$1(Function2.scala:53)
	at scala.Function2$$Lambda$7801/1830973505.apply(Unknown Source)
	at scala.collection.immutable.List.forall(List.scala:386)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace(Space.scala:189)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace$(Space.scala:78)
	at dotty.tools.dotc.transform.patmat.SpaceEngine.isSubspace(Space.scala:309)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace(Space.scala:187)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace$(Space.scala:78)
	at dotty.tools.dotc.transform.patmat.SpaceEngine.isSubspace(Space.scala:309)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace$$anonfun$2(Space.scala:179)
	at dotty.tools.dotc.transform.patmat.SpaceLogic$$Lambda$7759/150246554.apply(Unknown Source)
	at scala.collection.LinearSeqOps.exists(LinearSeq.scala:141)
	at scala.collection.LinearSeqOps.exists$(LinearSeq.scala:138)
	at scala.collection.immutable.LazyList.exists(LazyList.scala:240)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace(Space.scala:179)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace$(Space.scala:78)
	at dotty.tools.dotc.transform.patmat.SpaceEngine.isSubspace(Space.scala:309)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace$$anonfun$2(Space.scala:179)
	at dotty.tools.dotc.transform.patmat.SpaceLogic$$Lambda$7759/150246554.apply(Unknown Source)
	at scala.collection.immutable.List.exists(List.scala:395)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace(Space.scala:179)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace$(Space.scala:78)
	at dotty.tools.dotc.transform.patmat.SpaceEngine.isSubspace(Space.scala:309)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace$$anonfun$1(Space.scala:175)
	at dotty.tools.dotc.transform.patmat.SpaceLogic$$Lambda$7758/1672961942.apply(Unknown Source)
	at scala.collection.immutable.List.forall(List.scala:386)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace(Space.scala:175)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace$(Space.scala:78)
	at dotty.tools.dotc.transform.patmat.SpaceEngine.isSubspace(Space.scala:309)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.tryDecompose1$1(Space.scala:168)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace(Space.scala:179)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace$(Space.scala:78)
	at dotty.tools.dotc.transform.patmat.SpaceEngine.isSubspace(Space.scala:309)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace$$anonfun$4(Space.scala:189)
	at dotty.tools.dotc.transform.patmat.SpaceLogic$$Lambda$7800/1991893746.apply(Unknown Source)
	at scala.Function2.$anonfun$tupled$1(Function2.scala:53)
	at scala.Function2$$Lambda$7801/1830973505.apply(Unknown Source)
	at scala.collection.immutable.List.forall(List.scala:386)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace(Space.scala:189)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace$(Space.scala:78)
	at dotty.tools.dotc.transform.patmat.SpaceEngine.isSubspace(Space.scala:309)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace(Space.scala:187)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace$(Space.scala:78)
	at dotty.tools.dotc.transform.patmat.SpaceEngine.isSubspace(Space.scala:309)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace$$anonfun$2(Space.scala:179)
	at dotty.tools.dotc.transform.patmat.SpaceLogic$$Lambda$7759/150246554.apply(Unknown Source)
	at scala.collection.LinearSeqOps.exists(LinearSeq.scala:141)
	at scala.collection.LinearSeqOps.exists$(LinearSeq.scala:138)
	at scala.collection.immutable.LazyList.exists(LazyList.scala:240)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace(Space.scala:179)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace$(Space.scala:78)
	at dotty.tools.dotc.transform.patmat.SpaceEngine.isSubspace(Space.scala:309)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace$$anonfun$1(Space.scala:175)
	at dotty.tools.dotc.transform.patmat.SpaceLogic$$Lambda$7758/1672961942.apply(Unknown Source)
	at scala.collection.immutable.List.forall(List.scala:386)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace(Space.scala:175)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace$(Space.scala:78)
	at dotty.tools.dotc.transform.patmat.SpaceEngine.isSubspace(Space.scala:309)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.tryDecompose1$1(Space.scala:168)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace(Space.scala:179)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace$(Space.scala:78)
	at dotty.tools.dotc.transform.patmat.SpaceEngine.isSubspace(Space.scala:309)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace$$anonfun$2(Space.scala:179)
	at dotty.tools.dotc.transform.patmat.SpaceLogic$$Lambda$7759/150246554.apply(Unknown Source)
	at scala.collection.immutable.List.exists(List.scala:395)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace(Space.scala:179)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace$(Space.scala:78)
	at dotty.tools.dotc.transform.patmat.SpaceEngine.isSubspace(Space.scala:309)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace$$anonfun$4(Space.scala:189)
	at dotty.tools.dotc.transform.patmat.SpaceLogic$$Lambda$7800/1991893746.apply(Unknown Source)
	at scala.Function2.$anonfun$tupled$1(Function2.scala:53)
	at scala.Function2$$Lambda$7801/1830973505.apply(Unknown Source)
	at scala.collection.immutable.List.forall(List.scala:386)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace(Space.scala:189)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace$(Space.scala:78)
	at dotty.tools.dotc.transform.patmat.SpaceEngine.isSubspace(Space.scala:309)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace(Space.scala:187)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace$(Space.scala:78)
	at dotty.tools.dotc.transform.patmat.SpaceEngine.isSubspace(Space.scala:309)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace$$anonfun$2(Space.scala:179)
	at dotty.tools.dotc.transform.patmat.SpaceLogic$$Lambda$7759/150246554.apply(Unknown Source)
	at scala.collection.LinearSeqOps.exists(LinearSeq.scala:141)
	at scala.collection.LinearSeqOps.exists$(LinearSeq.scala:138)
	at scala.collection.immutable.LazyList.exists(LazyList.scala:240)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace(Space.scala:179)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace$(Space.scala:78)
	at dotty.tools.dotc.transform.patmat.SpaceEngine.isSubspace(Space.scala:309)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace$$anonfun$1(Space.scala:175)
	at dotty.tools.dotc.transform.patmat.SpaceLogic$$Lambda$7758/1672961942.apply(Unknown Source)
	at scala.collection.immutable.List.forall(List.scala:386)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace(Space.scala:175)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace$(Space.scala:78)
	at dotty.tools.dotc.transform.patmat.SpaceEngine.isSubspace(Space.scala:309)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.tryDecompose1$1(Space.scala:168)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace(Space.scala:179)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace$(Space.scala:78)
	at dotty.tools.dotc.transform.patmat.SpaceEngine.isSubspace(Space.scala:309)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace$$anonfun$2(Space.scala:179)
	at dotty.tools.dotc.transform.patmat.SpaceLogic$$Lambda$7759/150246554.apply(Unknown Source)
	at scala.collection.immutable.List.exists(List.scala:395)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace(Space.scala:179)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace$(Space.scala:78)
	at dotty.tools.dotc.transform.patmat.SpaceEngine.isSubspace(Space.scala:309)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace$$anonfun$4(Space.scala:189)
	at dotty.tools.dotc.transform.patmat.SpaceLogic$$Lambda$7800/1991893746.apply(Unknown Source)
	at scala.Function2.$anonfun$tupled$1(Function2.scala:53)
	at scala.Function2$$Lambda$7801/1830973505.apply(Unknown Source)
	at scala.collection.immutable.List.forall(List.scala:386)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace(Space.scala:189)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace$(Space.scala:78)
	at dotty.tools.dotc.transform.patmat.SpaceEngine.isSubspace(Space.scala:309)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace(Space.scala:187)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace$(Space.scala:78)
	at dotty.tools.dotc.transform.patmat.SpaceEngine.isSubspace(Space.scala:309)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace$$anonfun$2(Space.scala:179)
	at dotty.tools.dotc.transform.patmat.SpaceLogic$$Lambda$7759/150246554.apply(Unknown Source)
	at scala.collection.LinearSeqOps.exists(LinearSeq.scala:141)
	at scala.collection.LinearSeqOps.exists$(LinearSeq.scala:138)
	at scala.collection.immutable.LazyList.exists(LazyList.scala:240)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace(Space.scala:179)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace$(Space.scala:78)
	at dotty.tools.dotc.transform.patmat.SpaceEngine.isSubspace(Space.scala:309)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace$$anonfun$2(Space.scala:179)
	at dotty.tools.dotc.transform.patmat.SpaceLogic$$Lambda$7759/150246554.apply(Unknown Source)
	at scala.collection.immutable.List.exists(List.scala:395)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace(Space.scala:179)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace$(Space.scala:78)
	at dotty.tools.dotc.transform.patmat.SpaceEngine.isSubspace(Space.scala:309)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace$$anonfun$1(Space.scala:175)
	at dotty.tools.dotc.transform.patmat.SpaceLogic$$Lambda$7758/1672961942.apply(Unknown Source)
	at scala.collection.immutable.List.forall(List.scala:386)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace(Space.scala:175)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace$(Space.scala:78)
	at dotty.tools.dotc.transform.patmat.SpaceEngine.isSubspace(Space.scala:309)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.tryDecompose1$1(Space.scala:168)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace(Space.scala:179)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace$(Space.scala:78)
	at dotty.tools.dotc.transform.patmat.SpaceEngine.isSubspace(Space.scala:309)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace$$anonfun$4(Space.scala:189)
	at dotty.tools.dotc.transform.patmat.SpaceLogic$$Lambda$7800/1991893746.apply(Unknown Source)
	at scala.Function2.$anonfun$tupled$1(Function2.scala:53)
	at scala.Function2$$Lambda$7801/1830973505.apply(Unknown Source)
	at scala.collection.immutable.List.forall(List.scala:386)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace(Space.scala:189)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace$(Space.scala:78)
	at dotty.tools.dotc.transform.patmat.SpaceEngine.isSubspace(Space.scala:309)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace(Space.scala:187)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace$(Space.scala:78)
	at dotty.tools.dotc.transform.patmat.SpaceEngine.isSubspace(Space.scala:309)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace$$anonfun$2(Space.scala:179)
	at dotty.tools.dotc.transform.patmat.SpaceLogic$$Lambda$7759/150246554.apply(Unknown Source)
	at scala.collection.LinearSeqOps.exists(LinearSeq.scala:141)
	at scala.collection.LinearSeqOps.exists$(LinearSeq.scala:138)
	at scala.collection.immutable.LazyList.exists(LazyList.scala:240)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace(Space.scala:179)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace$(Space.scala:78)
	at dotty.tools.dotc.transform.patmat.SpaceEngine.isSubspace(Space.scala:309)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace$$anonfun$1(Space.scala:175)
	at dotty.tools.dotc.transform.patmat.SpaceLogic$$Lambda$7758/1672961942.apply(Unknown Source)
	at scala.collection.immutable.List.forall(List.scala:386)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace(Space.scala:175)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace$(Space.scala:78)
	at dotty.tools.dotc.transform.patmat.SpaceEngine.isSubspace(Space.scala:309)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.tryDecompose1$1(Space.scala:168)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace(Space.scala:179)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace$(Space.scala:78)
	at dotty.tools.dotc.transform.patmat.SpaceEngine.isSubspace(Space.scala:309)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace$$anonfun$2(Space.scala:179)
	at dotty.tools.dotc.transform.patmat.SpaceLogic$$Lambda$7759/150246554.apply(Unknown Source)
	at scala.collection.immutable.List.exists(List.scala:395)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace(Space.scala:179)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace$(Space.scala:78)
	at dotty.tools.dotc.transform.patmat.SpaceEngine.isSubspace(Space.scala:309)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace$$anonfun$4(Space.scala:189)
	at dotty.tools.dotc.transform.patmat.SpaceLogic$$Lambda$7800/1991893746.apply(Unknown Source)
	at scala.Function2.$anonfun$tupled$1(Function2.scala:53)
	at scala.Function2$$Lambda$7801/1830973505.apply(Unknown Source)
	at scala.collection.immutable.List.forall(List.scala:386)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace(Space.scala:189)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace$(Space.scala:78)
	at dotty.tools.dotc.transform.patmat.SpaceEngine.isSubspace(Space.scala:309)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace(Space.scala:187)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace$(Space.scala:78)
	at dotty.tools.dotc.transform.patmat.SpaceEngine.isSubspace(Space.scala:309)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace$$anonfun$2(Space.scala:179)
	at dotty.tools.dotc.transform.patmat.SpaceLogic$$Lambda$7759/150246554.apply(Unknown Source)
	at scala.collection.LinearSeqOps.exists(LinearSeq.scala:141)
	at scala.collection.LinearSeqOps.exists$(LinearSeq.scala:138)
	at scala.collection.immutable.LazyList.exists(LazyList.scala:240)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace(Space.scala:179)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace$(Space.scala:78)
	at dotty.tools.dotc.transform.patmat.SpaceEngine.isSubspace(Space.scala:309)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace$$anonfun$2(Space.scala:179)
	at dotty.tools.dotc.transform.patmat.SpaceLogic$$Lambda$7759/150246554.apply(Unknown Source)
	at scala.collection.immutable.List.exists(List.scala:395)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace(Space.scala:179)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace$(Space.scala:78)
	at dotty.tools.dotc.transform.patmat.SpaceEngine.isSubspace(Space.scala:309)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace$$anonfun$1(Space.scala:175)
	at dotty.tools.dotc.transform.patmat.SpaceLogic$$Lambda$7758/1672961942.apply(Unknown Source)
	at scala.collection.immutable.List.forall(List.scala:386)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace(Space.scala:175)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace$(Space.scala:78)
	at dotty.tools.dotc.transform.patmat.SpaceEngine.isSubspace(Space.scala:309)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.tryDecompose1$1(Space.scala:168)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace(Space.scala:179)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace$(Space.scala:78)
	at dotty.tools.dotc.transform.patmat.SpaceEngine.isSubspace(Space.scala:309)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace$$anonfun$4(Space.scala:189)
	at dotty.tools.dotc.transform.patmat.SpaceLogic$$Lambda$7800/1991893746.apply(Unknown Source)
	at scala.Function2.$anonfun$tupled$1(Function2.scala:53)
	at scala.Function2$$Lambda$7801/1830973505.apply(Unknown Source)
	at scala.collection.immutable.List.forall(List.scala:386)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace(Space.scala:189)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace$(Space.scala:78)
	at dotty.tools.dotc.transform.patmat.SpaceEngine.isSubspace(Space.scala:309)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace(Space.scala:187)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace$(Space.scala:78)
	at dotty.tools.dotc.transform.patmat.SpaceEngine.isSubspace(Space.scala:309)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace$$anonfun$2(Space.scala:179)
	at dotty.tools.dotc.transform.patmat.SpaceLogic$$Lambda$7759/150246554.apply(Unknown Source)
	at scala.collection.LinearSeqOps.exists(LinearSeq.scala:141)
	at scala.collection.LinearSeqOps.exists$(LinearSeq.scala:138)
	at scala.collection.immutable.LazyList.exists(LazyList.scala:240)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace(Space.scala:179)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace$(Space.scala:78)
	at dotty.tools.dotc.transform.patmat.SpaceEngine.isSubspace(Space.scala:309)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace$$anonfun$1(Space.scala:175)
	at dotty.tools.dotc.transform.patmat.SpaceLogic$$Lambda$7758/1672961942.apply(Unknown Source)
	at scala.collection.immutable.List.forall(List.scala:386)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace(Space.scala:175)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace$(Space.scala:78)
	at dotty.tools.dotc.transform.patmat.SpaceEngine.isSubspace(Space.scala:309)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.tryDecompose1$1(Space.scala:168)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace(Space.scala:179)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace$(Space.scala:78)
	at dotty.tools.dotc.transform.patmat.SpaceEngine.isSubspace(Space.scala:309)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace$$anonfun$2(Space.scala:179)
	at dotty.tools.dotc.transform.patmat.SpaceLogic$$Lambda$7759/150246554.apply(Unknown Source)
	at scala.collection.immutable.List.exists(List.scala:395)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace(Space.scala:179)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace$(Space.scala:78)
	at dotty.tools.dotc.transform.patmat.SpaceEngine.isSubspace(Space.scala:309)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace$$anonfun$4(Space.scala:189)
	at dotty.tools.dotc.transform.patmat.SpaceLogic$$Lambda$7800/1991893746.apply(Unknown Source)
	at scala.Function2.$anonfun$tupled$1(Function2.scala:53)
	at scala.Function2$$Lambda$7801/1830973505.apply(Unknown Source)
	at scala.collection.immutable.List.forall(List.scala:386)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace(Space.scala:189)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace$(Space.scala:78)
	at dotty.tools.dotc.transform.patmat.SpaceEngine.isSubspace(Space.scala:309)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace(Space.scala:187)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace$(Space.scala:78)
	at dotty.tools.dotc.transform.patmat.SpaceEngine.isSubspace(Space.scala:309)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace$$anonfun$2(Space.scala:179)
	at dotty.tools.dotc.transform.patmat.SpaceLogic$$Lambda$7759/150246554.apply(Unknown Source)
	at scala.collection.LinearSeqOps.exists(LinearSeq.scala:141)
	at scala.collection.LinearSeqOps.exists$(LinearSeq.scala:138)
	at scala.collection.immutable.LazyList.exists(LazyList.scala:240)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace(Space.scala:179)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace$(Space.scala:78)
	at dotty.tools.dotc.transform.patmat.SpaceEngine.isSubspace(Space.scala:309)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace$$anonfun$2(Space.scala:179)
	at dotty.tools.dotc.transform.patmat.SpaceLogic$$Lambda$7759/150246554.apply(Unknown Source)
	at scala.collection.immutable.List.exists(List.scala:395)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace(Space.scala:179)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace$(Space.scala:78)
	at dotty.tools.dotc.transform.patmat.SpaceEngine.isSubspace(Space.scala:309)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace$$anonfun$1(Space.scala:175)
	at dotty.tools.dotc.transform.patmat.SpaceLogic$$Lambda$7758/1672961942.apply(Unknown Source)
	at scala.collection.immutable.List.forall(List.scala:386)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace(Space.scala:175)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace$(Space.scala:78)
	at dotty.tools.dotc.transform.patmat.SpaceEngine.isSubspace(Space.scala:309)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.tryDecompose1$1(Space.scala:168)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace(Space.scala:179)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace$(Space.scala:78)
	at dotty.tools.dotc.transform.patmat.SpaceEngine.isSubspace(Space.scala:309)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace$$anonfun$4(Space.scala:189)
	at dotty.tools.dotc.transform.patmat.SpaceLogic$$Lambda$7800/1991893746.apply(Unknown Source)
	at scala.Function2.$anonfun$tupled$1(Function2.scala:53)
	at scala.Function2$$Lambda$7801/1830973505.apply(Unknown Source)
	at scala.collection.immutable.List.forall(List.scala:386)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace(Space.scala:189)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace$(Space.scala:78)
	at dotty.tools.dotc.transform.patmat.SpaceEngine.isSubspace(Space.scala:309)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace(Space.scala:187)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace$(Space.scala:78)
	at dotty.tools.dotc.transform.patmat.SpaceEngine.isSubspace(Space.scala:309)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace$$anonfun$2(Space.scala:179)
	at dotty.tools.dotc.transform.patmat.SpaceLogic$$Lambda$7759/150246554.apply(Unknown Source)
	at scala.collection.LinearSeqOps.exists(LinearSeq.scala:141)
	at scala.collection.LinearSeqOps.exists$(LinearSeq.scala:138)
	at scala.collection.immutable.LazyList.exists(LazyList.scala:240)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace(Space.scala:179)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace$(Space.scala:78)
	at dotty.tools.dotc.transform.patmat.SpaceEngine.isSubspace(Space.scala:309)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace$$anonfun$1(Space.scala:175)
	at dotty.tools.dotc.transform.patmat.SpaceLogic$$Lambda$7758/1672961942.apply(Unknown Source)
	at scala.collection.immutable.List.forall(List.scala:386)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace(Space.scala:175)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace$(Space.scala:78)
	at dotty.tools.dotc.transform.patmat.SpaceEngine.isSubspace(Space.scala:309)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.tryDecompose1$1(Space.scala:168)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace(Space.scala:179)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace$(Space.scala:78)
	at dotty.tools.dotc.transform.patmat.SpaceEngine.isSubspace(Space.scala:309)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace$$anonfun$2(Space.scala:179)
	at dotty.tools.dotc.transform.patmat.SpaceLogic$$Lambda$7759/150246554.apply(Unknown Source)
	at scala.collection.immutable.List.exists(List.scala:395)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace(Space.scala:179)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace$(Space.scala:78)
	at dotty.tools.dotc.transform.patmat.SpaceEngine.isSubspace(Space.scala:309)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace$$anonfun$4(Space.scala:189)
	at dotty.tools.dotc.transform.patmat.SpaceLogic$$Lambda$7800/1991893746.apply(Unknown Source)
	at scala.Function2.$anonfun$tupled$1(Function2.scala:53)
	at scala.Function2$$Lambda$7801/1830973505.apply(Unknown Source)
	at scala.collection.immutable.List.forall(List.scala:386)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace(Space.scala:189)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace$(Space.scala:78)
	at dotty.tools.dotc.transform.patmat.SpaceEngine.isSubspace(Space.scala:309)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace(Space.scala:187)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace$(Space.scala:78)
	at dotty.tools.dotc.transform.patmat.SpaceEngine.isSubspace(Space.scala:309)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace$$anonfun$2(Space.scala:179)
	at dotty.tools.dotc.transform.patmat.SpaceLogic$$Lambda$7759/150246554.apply(Unknown Source)
	at scala.collection.LinearSeqOps.exists(LinearSeq.scala:141)
	at scala.collection.LinearSeqOps.exists$(LinearSeq.scala:138)
	at scala.collection.immutable.LazyList.exists(LazyList.scala:240)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace(Space.scala:179)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace$(Space.scala:78)
	at dotty.tools.dotc.transform.patmat.SpaceEngine.isSubspace(Space.scala:309)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace$$anonfun$2(Space.scala:179)
	at dotty.tools.dotc.transform.patmat.SpaceLogic$$Lambda$7759/150246554.apply(Unknown Source)
	at scala.collection.immutable.List.exists(List.scala:395)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace(Space.scala:179)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace$(Space.scala:78)
	at dotty.tools.dotc.transform.patmat.SpaceEngine.isSubspace(Space.scala:309)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace$$anonfun$1(Space.scala:175)
	at dotty.tools.dotc.transform.patmat.SpaceLogic$$Lambda$7758/1672961942.apply(Unknown Source)
	at scala.collection.immutable.List.forall(List.scala:386)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace(Space.scala:175)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace$(Space.scala:78)
	at dotty.tools.dotc.transform.patmat.SpaceEngine.isSubspace(Space.scala:309)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.tryDecompose1$1(Space.scala:168)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace(Space.scala:179)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.isSubspace$(Space.scala:78)
	at dotty.tools.dotc.transform.patmat.SpaceEngine.isSubspace(Space.scala:309)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.minus$$anonfun$4(Space.scala:271)
	at dotty.tools.dotc.transform.patmat.SpaceLogic$$Lambda$7767/2134119907.apply$mcZI$sp(Unknown Source)
	at scala.runtime.java8.JFunction1$mcZI$sp.apply(JFunction1$mcZI$sp.scala:17)
	at scala.collection.immutable.List.exists(List.scala:395)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.minus(Space.scala:271)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.minus$(Space.scala:78)
	at dotty.tools.dotc.transform.patmat.SpaceEngine.minus(Space.scala:309)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.minus(Space.scala:241)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.minus$(Space.scala:78)
	at dotty.tools.dotc.transform.patmat.SpaceEngine.minus(Space.scala:309)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.minus$$anonfun$3(Space.scala:249)
	at dotty.tools.dotc.transform.patmat.SpaceLogic$$Lambda$7760/185543822.apply(Unknown Source)
	at scala.collection.immutable.List.map(List.scala:246)
	at scala.collection.immutable.List.map(List.scala:79)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.minus(Space.scala:249)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.minus$(Space.scala:78)
	at dotty.tools.dotc.transform.patmat.SpaceEngine.minus(Space.scala:309)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.tryDecompose1$3(Space.scala:227)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.minus(Space.scala:243)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.minus$(Space.scala:78)
	at dotty.tools.dotc.transform.patmat.SpaceEngine.minus(Space.scala:309)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.minus$$anonfun$3(Space.scala:249)
	at dotty.tools.dotc.transform.patmat.SpaceLogic$$Lambda$7760/185543822.apply(Unknown Source)
	at scala.collection.immutable.List.map(List.scala:246)
	at scala.collection.immutable.List.map(List.scala:79)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.minus(Space.scala:249)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.minus$(Space.scala:78)
	at dotty.tools.dotc.transform.patmat.SpaceEngine.minus(Space.scala:309)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.minus$$anonfun$3(Space.scala:249)
	at dotty.tools.dotc.transform.patmat.SpaceLogic$$Lambda$7760/185543822.apply(Unknown Source)
	at scala.collection.immutable.List.map(List.scala:246)
	at scala.collection.immutable.List.map(List.scala:79)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.minus(Space.scala:249)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.minus$(Space.scala:78)
	at dotty.tools.dotc.transform.patmat.SpaceEngine.minus(Space.scala:309)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.minus$$anonfun$2(Space.scala:247)
	at dotty.tools.dotc.transform.patmat.SpaceLogic$$Lambda$7739/1232011528.apply(Unknown Source)
	at scala.collection.LinearSeqOps.foldLeft(LinearSeq.scala:169)
	at scala.collection.LinearSeqOps.foldLeft$(LinearSeq.scala:165)
	at scala.collection.immutable.List.foldLeft(List.scala:79)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.minus(Space.scala:247)
	at dotty.tools.dotc.transform.patmat.SpaceLogic.minus$(Space.scala:78)
	at dotty.tools.dotc.transform.patmat.SpaceEngine.minus(Space.scala:309)
	at dotty.tools.dotc.transform.patmat.SpaceEngine.checkRedundancy$$anonfun$1(Space.scala:902)
	at dotty.tools.dotc.transform.patmat.SpaceEngine$$Lambda$7742/1649713541.apply$mcVI$sp(Unknown Source)
	at scala.runtime.java8.JFunction1$mcVI$sp.apply(JFunction1$mcVI$sp.scala:18)
	at scala.collection.immutable.Range.foreach(Range.scala:190)
	at dotty.tools.dotc.transform.patmat.SpaceEngine.checkRedundancy(Space.scala:910)
	at dotty.tools.dotc.transform.PatternMatcher.transformMatch(PatternMatcher.scala:46)
	at dotty.tools.dotc.transform.MegaPhase.goMatch(MegaPhase.scala:779)
	at dotty.tools.dotc.transform.MegaPhase.transformUnnamed$1(MegaPhase.scala:369)
	at dotty.tools.dotc.transform.MegaPhase.transformTree(MegaPhase.scala:429)
	at dotty.tools.dotc.transform.MegaPhase.transformUnnamed$1(MegaPhase.scala:300)
	at dotty.tools.dotc.transform.MegaPhase.transformTree(MegaPhase.scala:429)
	at dotty.tools.dotc.transform.MegaPhase.mapDefDef$1(MegaPhase.scala:249)
	at dotty.tools.dotc.transform.MegaPhase.transformNamed$1(MegaPhase.scala:252)
	at dotty.tools.dotc.transform.MegaPhase.transformTree(MegaPhase.scala:427)
	at dotty.tools.dotc.transform.MegaPhase.transformStat$2(MegaPhase.scala:437)
	at dotty.tools.dotc.transform.MegaPhase.recur$1(MegaPhase.scala:442)
	at dotty.tools.dotc.transform.MegaPhase.transformStats(MegaPhase.scala:442)
	at dotty.tools.dotc.transform.MegaPhase.transformUnnamed$1(MegaPhase.scala:299)
	at dotty.tools.dotc.transform.MegaPhase.transformTree(MegaPhase.scala:429)
	at dotty.tools.dotc.transform.MegaPhase.transformUnnamed$1(MegaPhase.scala:300)
	at dotty.tools.dotc.transform.MegaPhase.transformTree(MegaPhase.scala:429)
	at dotty.tools.dotc.transform.MegaPhase.recur$2(MegaPhase.scala:453)
	at dotty.tools.dotc.transform.MegaPhase.transformTrees(MegaPhase.scala:453)
	at dotty.tools.dotc.transform.MegaPhase.transformUnnamed$1(MegaPhase.scala:280)
	at dotty.tools.dotc.transform.MegaPhase.transformTree(MegaPhase.scala:429)
	at dotty.tools.dotc.transform.MegaPhase.transformNamed$1(MegaPhase.scala:228)
	at dotty.tools.dotc.transform.MegaPhase.transformTree(MegaPhase.scala:427)
	at dotty.tools.dotc.transform.MegaPhase.transformNamed$1(MegaPhase.scala:228)
	at dotty.tools.dotc.transform.MegaPhase.transformTree(MegaPhase.scala:427)
	at dotty.tools.dotc.transform.MegaPhase.mapDefDef$1(MegaPhase.scala:249)
	at dotty.tools.dotc.transform.MegaPhase.transformNamed$1(MegaPhase.scala:252)
	at dotty.tools.dotc.transform.MegaPhase.transformTree(MegaPhase.scala:427)
	at dotty.tools.dotc.transform.MegaPhase.transformStat$2(MegaPhase.scala:437)
	at dotty.tools.dotc.transform.MegaPhase.recur$3$$anonfun$1(MegaPhase.scala:442)
	at dotty.tools.dotc.transform.MegaPhase$$Lambda$7593/1631261134.apply(Unknown Source)
	at scala.collection.immutable.List.mapConserve(List.scala:472)
	at dotty.tools.dotc.transform.MegaPhase.recur$1(MegaPhase.scala:442)
	at dotty.tools.dotc.transform.MegaPhase.recur$1(MegaPhase.scala:442)
	at dotty.tools.dotc.transform.MegaPhase.recur$1(MegaPhase.scala:442)
	at dotty.tools.dotc.transform.MegaPhase.recur$1(MegaPhase.scala:442)
	at dotty.tools.dotc.transform.MegaPhase.recur$1(MegaPhase.scala:442)
	at dotty.tools.dotc.transform.MegaPhase.recur$1(MegaPhase.scala:442)
	at dotty.tools.dotc.transform.MegaPhase.recur$1(MegaPhase.scala:442)
	at dotty.tools.dotc.transform.MegaPhase.recur$1(MegaPhase.scala:442)
	at dotty.tools.dotc.transform.MegaPhase.recur$1(MegaPhase.scala:442)
	at dotty.tools.dotc.transform.MegaPhase.recur$1(MegaPhase.scala:442)
	at dotty.tools.dotc.transform.MegaPhase.recur$1(MegaPhase.scala:442)
	at dotty.tools.dotc.transform.MegaPhase.recur$1(MegaPhase.scala:442)
	at dotty.tools.dotc.transform.MegaPhase.transformStats(MegaPhase.scala:442)
	at dotty.tools.dotc.transform.MegaPhase.transformUnnamed$1(MegaPhase.scala:362)
	at dotty.tools.dotc.transform.MegaPhase.transformTree(MegaPhase.scala:429)
	at dotty.tools.dotc.transform.MegaPhase.transformNamed$1(MegaPhase.scala:256)
	at dotty.tools.dotc.transform.MegaPhase.transformTree(MegaPhase.scala:427)
	at dotty.tools.dotc.transform.MegaPhase.transformStat$2(MegaPhase.scala:437)
	at dotty.tools.dotc.transform.MegaPhase.recur$1(MegaPhase.scala:442)
	at dotty.tools.dotc.transform.MegaPhase.transformStats(MegaPhase.scala:442)
	at dotty.tools.dotc.transform.MegaPhase.mapPackage$1(MegaPhase.scala:382)
	at dotty.tools.dotc.transform.MegaPhase.transformUnnamed$1(MegaPhase.scala:385)
	at dotty.tools.dotc.transform.MegaPhase.transformTree(MegaPhase.scala:429)
	at dotty.tools.dotc.transform.MegaPhase.transformUnit(MegaPhase.scala:448)
	at dotty.tools.dotc.transform.MegaPhase.run(MegaPhase.scala:460)
	at dotty.tools.dotc.core.Phases$Phase.runOn$$anonfun$1(Phases.scala:303)
	at dotty.tools.dotc.core.Phases$Phase$$Lambda$7337/1834813285.apply(Unknown Source)
	at scala.collection.immutable.List.map(List.scala:250)
	at dotty.tools.dotc.core.Phases$Phase.runOn(Phases.scala:304)
	at dotty.tools.dotc.Run.runPhases$4$$anonfun$4(Run.scala:205)
	at dotty.tools.dotc.Run$$Lambda$6589/62060240.applyVoid(Unknown Source)
	at scala.runtime.function.JProcedure1.apply(JProcedure1.java:15)
	at scala.runtime.function.JProcedure1.apply(JProcedure1.java:10)
	at scala.collection.ArrayOps$.foreach$extension(ArrayOps.scala:1323)
	at dotty.tools.dotc.Run.runPhases$5(Run.scala:216)
	at dotty.tools.dotc.Run.compileUnits$$anonfun$1(Run.scala:224)
	at dotty.tools.dotc.Run$$Lambda$6551/794373886.apply$mcV$sp(Unknown Source)
	at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.scala:18)
	at dotty.tools.dotc.util.Stats$.maybeMonitored(Stats.scala:67)
	at dotty.tools.dotc.Run.compileUnits(Run.scala:231)
	at dotty.tools.dotc.Run.compileSources(Run.scala:166)
	at dotty.tools.dotc.Run.compile(Run.scala:150)
	at dotty.tools.dotc.Driver.doCompile(Driver.scala:39)
	at dotty.tools.xsbt.CompilerBridgeDriver.run(CompilerBridgeDriver.java:88)
	- locked <0x00000005591a1238> (a dotty.tools.xsbt.CompilerBridgeDriver)
	at dotty.tools.xsbt.CompilerBridge.run(CompilerBridge.java:22)
	at sbt.internal.inc.AnalyzingCompiler.compile(AnalyzingCompiler.scala:91)
	at sbt.internal.inc.MixedAnalyzingCompiler.$anonfun$compile$7(MixedAnalyzingCompiler.scala:186)
	at sbt.internal.inc.MixedAnalyzingCompiler$$Lambda$6296/735744575.apply$mcV$sp(Unknown Source)
	at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23)
	at sbt.internal.inc.MixedAnalyzingCompiler.timed(MixedAnalyzingCompiler.scala:241)
	at sbt.internal.inc.MixedAnalyzingCompiler.$anonfun$compile$4(MixedAnalyzingCompiler.scala:176)
	at sbt.internal.inc.MixedAnalyzingCompiler.$anonfun$compile$4$adapted(MixedAnalyzingCompiler.scala:157)
	at sbt.internal.inc.MixedAnalyzingCompiler$$Lambda$6292/1657113710.apply(Unknown Source)
	at sbt.internal.inc.JarUtils$.withPreviousJar(JarUtils.scala:239)
	at sbt.internal.inc.MixedAnalyzingCompiler.compileScala$1(MixedAnalyzingCompiler.scala:157)
	at sbt.internal.inc.MixedAnalyzingCompiler.compile(MixedAnalyzingCompiler.scala:204)
	at sbt.internal.inc.IncrementalCompilerImpl.$anonfun$compileInternal$1(IncrementalCompilerImpl.scala:528)
	at sbt.internal.inc.IncrementalCompilerImpl.$anonfun$compileInternal$1$adapted(IncrementalCompilerImpl.scala:528)
	at sbt.internal.inc.IncrementalCompilerImpl$$Lambda$3030/2056780676.apply(Unknown Source)
	at sbt.internal.inc.Incremental$.$anonfun$apply$5(Incremental.scala:174)
	at sbt.internal.inc.Incremental$.$anonfun$apply$5$adapted(Incremental.scala:172)
	at sbt.internal.inc.Incremental$$$Lambda$3037/885301543.apply(Unknown Source)
	at sbt.internal.inc.Incremental$$anon$2.run(Incremental.scala:457)
	at sbt.internal.inc.IncrementalCommon$CycleState.next(IncrementalCommon.scala:116)
	at sbt.internal.inc.IncrementalCommon$$anon$1.next(IncrementalCommon.scala:56)
	at sbt.internal.inc.IncrementalCommon$$anon$1.next(IncrementalCommon.scala:52)
	at sbt.internal.inc.IncrementalCommon.cycle(IncrementalCommon.scala:261)
	at sbt.internal.inc.Incremental$.$anonfun$incrementalCompile$8(Incremental.scala:412)
	at sbt.internal.inc.Incremental$$$Lambda$3074/1353180445.apply(Unknown Source)
	at sbt.internal.inc.Incremental$.withClassfileManager(Incremental.scala:499)
	at sbt.internal.inc.Incremental$.incrementalCompile(Incremental.scala:399)
	at sbt.internal.inc.Incremental$.apply(Incremental.scala:166)
	at sbt.internal.inc.IncrementalCompilerImpl.compileInternal(IncrementalCompilerImpl.scala:528)
	at sbt.internal.inc.IncrementalCompilerImpl.$anonfun$compileIncrementally$1(IncrementalCompilerImpl.scala:482)
	at sbt.internal.inc.IncrementalCompilerImpl$$Lambda$2958/1400976623.apply(Unknown Source)
	at sbt.internal.inc.IncrementalCompilerImpl.handleCompilationError(IncrementalCompilerImpl.scala:332)
	at sbt.internal.inc.IncrementalCompilerImpl.compileIncrementally(IncrementalCompilerImpl.scala:420)
	at sbt.internal.inc.IncrementalCompilerImpl.compile(IncrementalCompilerImpl.scala:137)
	at sbt.Defaults$.compileIncrementalTaskImpl(Defaults.scala:2346)
	at sbt.Defaults$.$anonfun$compileIncrementalTask$2(Defaults.scala:2303)
	at sbt.Defaults$$$Lambda$2952/896835768.apply(Unknown Source)
	at sbt.internal.io.Retry$.apply(Retry.scala:46)
	at sbt.internal.io.Retry$.apply(Retry.scala:28)
	at sbt.internal.io.Retry$.apply(Retry.scala:23)
	at sbt.internal.server.BspCompileTask$.compute(BspCompileTask.scala:31)
	at sbt.Defaults$.$anonfun$compileIncrementalTask$1(Defaults.scala:2299)
	at sbt.Defaults$$$Lambda$1061/402979888.apply(Unknown Source)
	at scala.Function1.$anonfun$compose$1(Function1.scala:49)
	at scala.Function1$$Lambda$381/1154227939.apply(Unknown Source)
	at sbt.internal.util.$tilde$greater.$anonfun$$u2219$1(TypeFunctions.scala:62)
	at sbt.internal.util.$tilde$greater$$Lambda$2552/655059806.apply(Unknown Source)
	at sbt.std.Transform$$anon$4.work(Transform.scala:68)
	at sbt.Execute.$anonfun$submit$2(Execute.scala:282)
	at sbt.Execute$$Lambda$2577/1704972929.apply(Unknown Source)
	at sbt.internal.util.ErrorHandling$.wideConvert(ErrorHandling.scala:23)
	at sbt.Execute.work(Execute.scala:291)
	at sbt.Execute.$anonfun$submit$1(Execute.scala:282)
	at sbt.Execute$$Lambda$2562/323761934.apply(Unknown Source)
	at sbt.ConcurrentRestrictions$$anon$4.$anonfun$submitValid$1(ConcurrentRestrictions.scala:265)
	at sbt.ConcurrentRestrictions$$anon$4$$Lambda$2575/1931008760.apply(Unknown Source)
	at sbt.CompletionService$$anon$2.call(CompletionService.scala:64)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)
@smarter
Copy link
Member

smarter commented May 6, 2021

Might be interesting to bisect cats to find out what code is causing this.

@griggt
Copy link
Contributor Author

griggt commented May 6, 2021

Bisecting cats points to typelevel/cats#3727

@liufengyun
Copy link
Contributor

That's weird, the mentioned PR does not seem to contain interesting pattern matches -- and the only occurrences work fine when minimized.

@liufengyun
Copy link
Contributor

Minimized:

def foo(x: List[Int]): Unit =
  x match
  case x1 :: x2 :: x3 :: x4 :: x5 :: x6 :: x7 :: x8 :: x9 :: x10 :: x11 :: x12 :: x13 :: x14 :: x15 :: x16 :: x17 :: x18 :: x19 :: x20 :: x21 :: x22 :: Nil =>

liufengyun added a commit to dotty-staging/dotty that referenced this issue May 7, 2021
And be more lazier in product subtraction
liufengyun added a commit that referenced this issue May 11, 2021
Fix #12358: Avoid spurious unions in simplification
@Kordyjan Kordyjan added this to the 3.0.1 milestone Aug 2, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants