Skip to content

Commit 0686ed1

Browse files
committed
test deprecated enum cases
1 parent 74a653d commit 0686ed1

File tree

3 files changed

+26
-0
lines changed

3 files changed

+26
-0
lines changed

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ class CompilationTests {
5555
compileFile("tests/pos-special/kind-projector.scala", defaultOptions.and("-Ykind-projector")),
5656
compileFile("tests/run/i5606.scala", defaultOptions.and("-Yretain-trees")),
5757
compileFile("tests/pos-custom-args/i5498-postfixOps.scala", defaultOptions withoutLanguageFeature "postfixOps"),
58+
compileFilesInDir("tests/pos-custom-args/deprecation", defaultOptions.and("-deprecation", "-Xfatal-warnings")),
5859
compileFile("tests/pos-custom-args/i8875.scala", defaultOptions.and("-Xprint:getters")),
5960
compileFile("tests/pos-custom-args/i9267.scala", defaultOptions.and("-Ystop-after:erasure")),
6061
compileFile("tests/pos-special/extend-java-enum.scala", defaultOptions.and("-source", "3.0-migration")),
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
def usered = Color.Red // error: value Red is deprecated
2+
3+
enum Color {
4+
@deprecated("no Red", "0.1") case Red
5+
}
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
// check that deprecation warnings of Red are not caught in its enclosing scope
2+
enum Color(rgb: Int) {
3+
4+
@deprecated("stop using Red", "0.1")
5+
case Red extends Color(0xff0000)
6+
7+
case Green extends Color(0x00ff00)
8+
9+
case Blue extends Color(0x0000ff)
10+
11+
final def colorCode: Option[Int] = this match {
12+
case Red => None
13+
case _ => Some(rgb)
14+
}
15+
16+
}
17+
18+
object Color {
19+
val deprecatedMembers = Set(Red)
20+
}

0 commit comments

Comments
 (0)