We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
2 parents ce684de + d91a88b commit d48849fCopy full SHA for d48849f
tests/pos/9239.scala
@@ -0,0 +1,28 @@
1
+object ABug:
2
+ sealed trait Bit
3
+ sealed trait B0 extends Bit
4
+ sealed trait B1 extends Bit
5
+
6
+ sealed trait Bin
7
+ sealed trait Nil extends Bin
8
+ sealed trait ::[U <: Bit, D <: Bin] extends Bin
9
10
+ type Zero = B0 :: Nil
11
+ type One = B1 :: Nil
12
13
+ type --[B <: Bin] =
14
+ B match
15
+ case B1 :: d => B0 :: d
16
+ case B0 :: B1 :: Nil => B1 :: Nil
17
+ case B0 :: d => B1 :: --[d]
18
19
+ type ×[N <: Bin, M <: Bin] =
20
+ (N, M) match
21
+ case (Zero, ?) => Zero
22
23
+ type ![N <: Bin] =
24
+ N match
25
+ case Zero => One
26
+ case One => One
27
+ case ? => ![--[N]] × (N)
28
+ case ? :: ? => ![--[N]] × (N)
0 commit comments