Skip to content

Commit 23aaf15

Browse files
committed
remove limitation errors in structural gadt neg tests
These limitation is solved by path-dependent GADT now.
1 parent 924cc99 commit 23aaf15

5 files changed

+35
-35
lines changed

tests/neg/structural-gadt.scala

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,11 @@ object Test {
1818
val i: Int = ??? : A // limitation // error
1919

2020
case _: IntExpr =>
21-
val a: A = 0 // limitation // error
21+
val a: A = 0
2222
val i: Int = ??? : A // limitation // error
2323

2424
case _: Expr { type T = Int } =>
25-
val a: A = 0 // limitation // error
25+
val a: A = 0
2626
val i: Int = ??? : A // limitation // error
2727
}
2828

@@ -36,11 +36,11 @@ object Test {
3636
val i: Int = ??? : A // error
3737

3838
case _: IntExpr =>
39-
val a: A = 0 // limitation // error
39+
val a: A = 0
4040
val i: Int = ??? : A // error
4141

4242
case _: Expr { type T = Int } =>
43-
val a: A = 0 // limitation // error
43+
val a: A = 0
4444
val i: Int = ??? : A // error
4545
}
4646

tests/neg/structural-recursive-both1-gadt.scala

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -28,23 +28,23 @@ object Test {
2828
def foo[A](e: IndirectExprExact[A]) = e match {
2929
case _: AltIndirectIntLit =>
3030
val a: A = 0 // error
31-
val i: Int = ??? : A // limitation // error
31+
val i: Int = ??? : A
3232

3333
case _: AltIndirectExprSub[Int] =>
3434
val a: A = 0 // error
35-
val i: Int = ??? : A // limitation // error
35+
val i: Int = ??? : A
3636

3737
case _: AltIndirectExprSub2[Int] =>
3838
val a: A = 0 // error
39-
val i: Int = ??? : A // limitation // error
39+
val i: Int = ??? : A
4040

4141
case _: AltIndirectIntExpr =>
42-
val a: A = 0 // limitation // error
43-
val i: Int = ??? : A // limitation // error
42+
val a: A = 0
43+
val i: Int = ??? : A
4444

4545
case _: AltIndirectExprExact[Int] =>
46-
val a: A = 0 // limitation // error
47-
val i: Int = ??? : A // limitation // error
46+
val a: A = 0
47+
val i: Int = ??? : A
4848
}
4949

5050
def bar[A](e: IndirectExprSub[A]) = e match {
@@ -83,11 +83,11 @@ object Test {
8383
val i: Int = ??? : A // error
8484

8585
case _: AltIndirectIntExpr =>
86-
val a: A = 0 // limitation // error
86+
val a: A = 0
8787
val i: Int = ??? : A // error
8888

8989
case _: AltIndirectExprExact[Int] =>
90-
val a: A = 0 // limitation // error
90+
val a: A = 0
9191
val i: Int = ??? : A // error
9292
}
9393
}

tests/neg/structural-recursive-both2-gadt.scala

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -28,23 +28,23 @@ object Test {
2828
def foo[A](e: AltIndirectExprExact[A]) = e match {
2929
case _: IndirectIntLit =>
3030
val a: A = 0 // error
31-
val i: Int = ??? : A // limitation // error
31+
val i: Int = ??? : A
3232

3333
case _: IndirectExprSub[Int] =>
3434
val a: A = 0 // error
35-
val i: Int = ??? : A // limitation // error
35+
val i: Int = ??? : A
3636

3737
case _: IndirectExprSub2[Int] =>
3838
val a: A = 0 // error
39-
val i: Int = ??? : A // limitation // error
39+
val i: Int = ??? : A
4040

4141
case _: IndirectIntExpr =>
42-
val a: A = 0 // limitation // error
43-
val i: Int = ??? : A // limitation // error
42+
val a: A = 0
43+
val i: Int = ??? : A
4444

4545
case _: IndirectExprExact[Int] =>
46-
val a: A = 0 // limitation // error
47-
val i: Int = ??? : A // limitation // error
46+
val a: A = 0
47+
val i: Int = ??? : A
4848
}
4949

5050
def bar[A](e: AltIndirectExprSub[A]) = e match {
@@ -83,11 +83,11 @@ object Test {
8383
val i: Int = ??? : A // error
8484

8585
case _: IndirectIntExpr =>
86-
val a: A = 0 // limitation // error
86+
val a: A = 0
8787
val i: Int = ??? : A // error
8888

8989
case _: IndirectExprExact[Int] =>
90-
val a: A = 0 // limitation // error
90+
val a: A = 0
9191
val i: Int = ??? : A // error
9292
}
9393
}

tests/neg/structural-recursive-pattern-gadt.scala

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -39,11 +39,11 @@ object Test {
3939
val i: Int = ??? : A // limitation // error
4040

4141
case _: IndirectIntExpr =>
42-
val a: A = 0 // limitation // error
43-
val i: Int = ??? : A // limitation // error
42+
val a: A = 0
43+
val i: Int = ??? : A
4444

4545
case _: IndirectExprExact[Int] =>
46-
val a: A = 0 // limitation // error
46+
val a: A = 0
4747
val i: Int = ??? : A // limitation // error
4848
}
4949

@@ -61,11 +61,11 @@ object Test {
6161
val i: Int = ??? : A // error
6262

6363
case _: IndirectIntExpr =>
64-
val a: A = 0 // limitation // error
64+
val a: A = 0
6565
val i: Int = ??? : A // error
6666

6767
case _: IndirectExprExact[Int] =>
68-
val a: A = 0 // limitation // error
68+
val a: A = 0
6969
val i: Int = ??? : A // error
7070
}
7171
}

tests/neg/structural-recursive-scrutinee-gadt.scala

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -28,19 +28,19 @@ object Test {
2828
def foo[A](e: IndirectExprExact[A]) = e match {
2929
case _: IntLit =>
3030
val a: A = 0 // error
31-
val i: Int = ??? : A // limitation // error
31+
val i: Int = ??? : A
3232

3333
case _: ExprSub[Int] =>
3434
val a: A = 0 // error
35-
val i: Int = ??? : A // limitation // error
35+
val i: Int = ??? : A
3636

3737
case _: IntExpr =>
38-
val a: A = 0 // limitation // error
39-
val i: Int = ??? : A // limitation // error
38+
val a: A = 0
39+
val i: Int = ??? : A
4040

4141
case _: ExprExact[Int] =>
42-
val a: A = 0 // limitation // error
43-
val i: Int = ??? : A // limitation // error
42+
val a: A = 0
43+
val i: Int = ??? : A
4444
}
4545

4646
def bar[A](e: IndirectExprSub[A]) = e match {
@@ -71,11 +71,11 @@ object Test {
7171
val i: Int = ??? : A // error
7272

7373
case _: IntExpr =>
74-
val a: A = 0 // limitation // error
74+
val a: A = 0
7575
val i: Int = ??? : A // error
7676

7777
case _: ExprExact[Int] =>
78-
val a: A = 0 // limitation // error
78+
val a: A = 0
7979
val i: Int = ??? : A // error
8080
}
8181
}

0 commit comments

Comments
 (0)