aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--test/dotc/tests.scala1
-rw-r--r--tests/pos/Labels.scala21
2 files changed, 22 insertions, 0 deletions
diff --git a/test/dotc/tests.scala b/test/dotc/tests.scala
index fc15d3a30..2fe6be757 100644
--- a/test/dotc/tests.scala
+++ b/test/dotc/tests.scala
@@ -130,6 +130,7 @@ class tests extends CompilerTest {
@Test def tools_io = compileDir(dotcDir + "tools/io", twice)
@Test def helloWorld = compileFile(posDir, "HelloWorld", doEmitBytecode)
+ @Test def labels = compileFile(posDir, "Labels", doEmitBytecode)
//@Test def tools = compileDir(dotcDir + "tools", "-deep" :: Nil)(allowDeepSubtypes)
@Test def testNonCyclic = compileArgs(Array(
diff --git a/tests/pos/Labels.scala b/tests/pos/Labels.scala
new file mode 100644
index 000000000..4a84175af
--- /dev/null
+++ b/tests/pos/Labels.scala
@@ -0,0 +1,21 @@
+object Labels {
+ def main(args: Array[String]): Unit = {
+ var i = 10
+ while(i>0) {
+ var j = 0
+ while(j<i) {
+ println(j+" " + i)
+ j = j +1
+ }
+ i = i - 1}
+ pattern(1)
+ pattern(2)
+ pattern(3)
+ }
+
+ def pattern(a: Int) = a match {
+ case 1 if (a>0) => println("one")
+ case t@2 => println("two" + t)
+ case _ => println("default")
+ }
+}