Skip to content

Commit a2c2458

Browse files
committed
Adapt tests for stricter pattern binding rules
1 parent ebc097d commit a2c2458

File tree

18 files changed

+44
-32
lines changed

18 files changed

+44
-32
lines changed
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
scala> val res10 @ Some(_) = Option(1)
1+
scala> val res10 @ Some(_) = Option(1): @unchecked
22
val res10: Some[Int] = Some(1)
33
scala> res10
44
val res11: Some[Int] = Some(1)

compiler/test-resources/repl/i3536_patterndef_some

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
scala> val Some((res40, res41)) = Option((1, 0))
1+
scala> val Some((res40, res41)) = Option((1, 0)): @unchecked
22
val res40: Int = 1
33
val res41: Int = 0
44
scala> res40

compiler/test-resources/repl/i3966

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
scala> val List(x: _*) = List(1, 2)
1+
scala> val List(x: _*) = List(1, 2): @unchecked
22
val x: Seq[Int] = List(1, 2)

compiler/test-resources/repl/patdef

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
scala> val Const, x = 0
22
val Const: Int = 0
33
val x: Int = 0
4-
scala> val (Const, List(`x`, _, a), b) = (0, List(0, 1337, 1), 2)
4+
scala> val (Const, List(`x`, _, a), b) = (0, List(0, 1337, 1), 2): @unchecked
55
val a: Int = 1
66
val b: Int = 2
77
scala> val a@b = 0

compiler/test/dotty/tools/dotc/TastyBootstrapTests.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ class TastyBootstrapTests {
5858
compileList("lib", librarySources,
5959
defaultOptions.and("-Ycheck-reentrant",
6060
"-language:experimental.erasedDefinitions", // support declaration of scala.compiletime.erasedValue
61-
// "-source", "future", // TODO: re-enable once we allow : @unchecked in pattern definitions. Right now, lots of narrowing pattern definitions fail.
61+
// "-source", "future", // TODO: re-enable once library uses updated syntax for vararg splices, wildcard imports, and import renaming
6262
))(libGroup)
6363

6464
val tastyCoreSources = sources(Paths.get("tasty/src"))

compiler/test/dotty/tools/dotc/ast/DesugarTests.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ class DesugarTests extends DottyTest {
2626
val ccTree = tree.find(tree => tree.symbol.name == typeName("Foo")).get
2727
val List(_, foo) = defPath(ccTree.symbol, tree).map(_.symbol.info)
2828

29-
val x :: y :: rest = foo.decls.toList
29+
val x :: y :: rest = foo.decls.toList: @unchecked
3030

3131
// Make sure we extracted the correct values from foo:
3232
assert(x.name == termName("x"))

compiler/test/dotty/tools/dotc/printing/PrinterTests.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ class PrinterTests extends DottyTest {
4545

4646
checkCompile("typer", source) { (tree, context) =>
4747
given Context = context
48-
val bar @ Trees.DefDef(_, _, _, _) = tree.find(tree => tree.symbol.name == termName("bar2")).get
48+
val bar @ Trees.DefDef(_, _, _, _) = tree.find(tree => tree.symbol.name == termName("bar2")).get: @unchecked
4949
assertEquals("Int & (Boolean | String)", bar.tpt.show)
5050
}
5151
}

compiler/test/dotty/tools/dotc/reporting/UserDefinedErrorMessages.scala

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ class UserDefinedErrorMessages extends ErrorMessagesTest {
2626
given Context = itcx
2727

2828
assertMessageCount(1, messages)
29-
val (m: NoExplanation) :: Nil = messages
29+
val (m: NoExplanation) :: Nil = messages: @unchecked
3030

3131
assertEquals(m.msg, "Could not prove Int =!= Int")
3232
}
@@ -50,7 +50,7 @@ class UserDefinedErrorMessages extends ErrorMessagesTest {
5050
given Context = itcx
5151

5252
assertMessageCount(1, messages)
53-
val (m: NoExplanation) :: Nil = messages
53+
val (m: NoExplanation) :: Nil = messages: @unchecked
5454

5555
assertEquals(m.msg, "Could not prove Int =!= Int")
5656
}
@@ -75,7 +75,7 @@ class UserDefinedErrorMessages extends ErrorMessagesTest {
7575
given Context = itcx
7676

7777
assertMessageCount(1, messages)
78-
val (m: NoExplanation) :: Nil = messages
78+
val (m: NoExplanation) :: Nil = messages: @unchecked
7979

8080
assertEquals(m.msg, "Could not prove Int =!= Int")
8181
}
@@ -97,7 +97,7 @@ class UserDefinedErrorMessages extends ErrorMessagesTest {
9797
given Context = itcx
9898

9999
assertMessageCount(1, messages)
100-
val (m: NoExplanation) :: Nil = messages
100+
val (m: NoExplanation) :: Nil = messages: @unchecked
101101

102102
assertEquals(m.msg, "msg A=Any")
103103
}
@@ -119,7 +119,7 @@ class UserDefinedErrorMessages extends ErrorMessagesTest {
119119
given Context = itcx
120120

121121
assertMessageCount(1, messages)
122-
val (m: NoExplanation) :: Nil = messages
122+
val (m: NoExplanation) :: Nil = messages: @unchecked
123123

124124
assertEquals(m.msg, "msg A=Any")
125125
}

compiler/test/dotty/tools/repl/ReplCompilerTests.scala

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -211,18 +211,18 @@ class ReplCompilerTests extends ReplTest:
211211
}
212212

213213
@Test def `i10214 must show classic MatchError` = initially {
214-
run("val 1 = 2")
214+
run("val 1 = 2: @unchecked")
215215
assertEquals("scala.MatchError: 2 (of class java.lang.Integer)", storedOutput().linesIterator.next())
216216
}
217217
@Test def `i10214 must show useful regex MatchError` =
218218
initially {
219219
run("""val r = raw"\d+".r""")
220220
} andThen {
221-
run("""val r() = "abc"""")
221+
run("""val r() = "abc": @unchecked""")
222222
assertEquals("scala.MatchError: abc (of class java.lang.String)", storedOutput().linesIterator.drop(1).next())
223223
}
224224
@Test def `i10214 must show MatchError on literal type` = initially {
225-
run("val (x: 1) = 2")
225+
run("val (x: 1) = 2: @unchecked")
226226
assertEquals("scala.MatchError: 2 (of class java.lang.Integer)", storedOutput().linesIterator.next())
227227
}
228228
@Test def `i12920 must truncate stack trace to user code` = initially {

scaladoc/test/dotty/tools/scaladoc/tasty/comments/MemberLookupTests.scala

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ class LookupTestCases[Q <: Quotes](val q: Quotes) {
6060
val target = wrappedTarget.symbol
6161
val lookupRes = MemberLookup.lookupOpt(parseQuery(query), None)
6262
assertTrue(s"Couldn't look up: $query", lookupRes.nonEmpty)
63-
val Some((lookedUp, _, _)) = lookupRes
63+
val Some((lookedUp, _, _)) = lookupRes: @unchecked
6464
assertSame(query, target, lookedUp)
6565
}
6666

@@ -83,7 +83,7 @@ class LookupTestCases[Q <: Quotes](val q: Quotes) {
8383
val target = sym.symbol
8484
val lookupRes = MemberLookup.lookupOpt(parseQuery(query), None)
8585
assertTrue(s"Couldn't look up: $query", lookupRes.nonEmpty)
86-
val Some((_ , _, Some(owner))) = lookupRes
86+
val Some((_ , _, Some(owner))) = lookupRes: @unchecked
8787
assertSame(query, target, owner)
8888
}
8989
}
@@ -102,7 +102,7 @@ class LookupTestCases[Q <: Quotes](val q: Quotes) {
102102
val lookupRes = MemberLookup.lookupOpt(parseQuery(query), Some(cls("scala.=:=").symbol))
103103
assertTrue(s"Couldn't look up: $query", lookupRes.nonEmpty)
104104
println(lookupRes)
105-
val Some((_ , _, owner)) = lookupRes
105+
val Some((_ , _, owner)) = lookupRes: @unchecked
106106
assertSame(query, None, owner)
107107
}
108108
}
@@ -161,7 +161,7 @@ class LookupTestCases[Q <: Quotes](val q: Quotes) {
161161
)
162162

163163
cases.foreach { case ((Sym(owner), query), Sym(target)) =>
164-
val Some((lookedUp, _, _)) = MemberLookup.lookup(parseQuery(query), owner)
164+
val Some((lookedUp, _, _)) = MemberLookup.lookup(parseQuery(query), owner): @unchecked
165165
assertSame(s"$owner / $query", target, lookedUp)
166166
}
167167
}
@@ -176,7 +176,7 @@ class LookupTestCases[Q <: Quotes](val q: Quotes) {
176176
given q.type = q
177177

178178
def parseQuery(query: String): Query = {
179-
val Right(parsed) = QueryParser(query).tryReadQuery()
179+
val Right(parsed) = QueryParser(query).tryReadQuery(): @unchecked
180180
parsed
181181
}
182182

0 commit comments

Comments
 (0)