aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/disabled/scalac-dependent/neg/selfreq.scala (renamed from tests/neg/selfreq.scala)0
-rw-r--r--tests/disabled/scalac-dependent/pos-special/i859.scala (renamed from tests/pos-special/i859.scala)0
-rw-r--r--tests/disabled/scalac-dependent/pos/t5604/ReplConfig.scala (renamed from tests/pos/t5604/ReplConfig.scala)0
-rw-r--r--tests/disabled/scalac-dependent/pos/t5604/ReplReporter.scala (renamed from tests/pos/t5604/ReplReporter.scala)0
-rw-r--r--tests/disabled/scalac-dependent/pos/t5899.scala (renamed from tests/pos/t5899.scala)0
-rw-r--r--tests/disabled/scalac-dependent/pos/t7591.scala (renamed from tests/pos/t7591.scala)0
-rw-r--r--tests/disabled/scalac-dependent/pos/trait-force-info.scala (renamed from tests/pos/trait-force-info.scala)0
-rw-r--r--tests/disabled/scalac-dependent/run/t1618.scala (renamed from tests/run/t1618.scala)0
-rw-r--r--tests/disabled/scalac-dependent/run/t7775.scala (renamed from tests/run/t7775.scala)0
-rw-r--r--tests/neg/customArgs/cliError.scala2
-rw-r--r--tests/neg/i2006.scala10
-rw-r--r--tests/pos/i1975.scala5
-rw-r--r--tests/pos/i1976.scala4
-rw-r--r--tests/pos/i1990.scala12
-rw-r--r--tests/pos/i1990a.scala20
-rw-r--r--tests/run/builder.check1
-rw-r--r--tests/run/builder.scala51
-rw-r--r--tests/run/i1990b.check1
-rw-r--r--tests/run/i1990b.scala20
-rw-r--r--tests/run/i1991.scala29
20 files changed, 153 insertions, 2 deletions
diff --git a/tests/neg/selfreq.scala b/tests/disabled/scalac-dependent/neg/selfreq.scala
index 1ca373b4b..1ca373b4b 100644
--- a/tests/neg/selfreq.scala
+++ b/tests/disabled/scalac-dependent/neg/selfreq.scala
diff --git a/tests/pos-special/i859.scala b/tests/disabled/scalac-dependent/pos-special/i859.scala
index a9f6b51c9..a9f6b51c9 100644
--- a/tests/pos-special/i859.scala
+++ b/tests/disabled/scalac-dependent/pos-special/i859.scala
diff --git a/tests/pos/t5604/ReplConfig.scala b/tests/disabled/scalac-dependent/pos/t5604/ReplConfig.scala
index 8c589eba6..8c589eba6 100644
--- a/tests/pos/t5604/ReplConfig.scala
+++ b/tests/disabled/scalac-dependent/pos/t5604/ReplConfig.scala
diff --git a/tests/pos/t5604/ReplReporter.scala b/tests/disabled/scalac-dependent/pos/t5604/ReplReporter.scala
index 9423efd8a..9423efd8a 100644
--- a/tests/pos/t5604/ReplReporter.scala
+++ b/tests/disabled/scalac-dependent/pos/t5604/ReplReporter.scala
diff --git a/tests/pos/t5899.scala b/tests/disabled/scalac-dependent/pos/t5899.scala
index 852b4e3e7..852b4e3e7 100644
--- a/tests/pos/t5899.scala
+++ b/tests/disabled/scalac-dependent/pos/t5899.scala
diff --git a/tests/pos/t7591.scala b/tests/disabled/scalac-dependent/pos/t7591.scala
index dd127b881..dd127b881 100644
--- a/tests/pos/t7591.scala
+++ b/tests/disabled/scalac-dependent/pos/t7591.scala
diff --git a/tests/pos/trait-force-info.scala b/tests/disabled/scalac-dependent/pos/trait-force-info.scala
index c2b33869c..c2b33869c 100644
--- a/tests/pos/trait-force-info.scala
+++ b/tests/disabled/scalac-dependent/pos/trait-force-info.scala
diff --git a/tests/run/t1618.scala b/tests/disabled/scalac-dependent/run/t1618.scala
index 248af9b4f..248af9b4f 100644
--- a/tests/run/t1618.scala
+++ b/tests/disabled/scalac-dependent/run/t1618.scala
diff --git a/tests/run/t7775.scala b/tests/disabled/scalac-dependent/run/t7775.scala
index bc6a67d0e..bc6a67d0e 100644
--- a/tests/run/t7775.scala
+++ b/tests/disabled/scalac-dependent/run/t7775.scala
diff --git a/tests/neg/customArgs/cliError.scala b/tests/neg/customArgs/cliError.scala
deleted file mode 100644
index b2f0f6cdc..000000000
--- a/tests/neg/customArgs/cliError.scala
+++ /dev/null
@@ -1,2 +0,0 @@
-// nopos-error
-object Test
diff --git a/tests/neg/i2006.scala b/tests/neg/i2006.scala
new file mode 100644
index 000000000..f1b48b011
--- /dev/null
+++ b/tests/neg/i2006.scala
@@ -0,0 +1,10 @@
+object Test {
+
+ inline def foo(f: ImplicitFunction1[Int, Int]): AnyRef = f // error
+ inline def bar(f: ImplicitFunction1[Int, Int]) = f // error
+
+ def main(args: Array[String]) = {
+ foo(implicit thisTransaction => 43)
+ bar(implicit thisTransaction => 44)
+ }
+}
diff --git a/tests/pos/i1975.scala b/tests/pos/i1975.scala
new file mode 100644
index 000000000..4657a6735
--- /dev/null
+++ b/tests/pos/i1975.scala
@@ -0,0 +1,5 @@
+object Test {
+ val X = Seq(1, 2)
+
+ for (X <- Seq(3, 4)) yield println(X)
+}
diff --git a/tests/pos/i1976.scala b/tests/pos/i1976.scala
new file mode 100644
index 000000000..32967977d
--- /dev/null
+++ b/tests/pos/i1976.scala
@@ -0,0 +1,4 @@
+object Test {
+ import scala.xml._
+ val node = <node>{ "whatever " }</node>
+}
diff --git a/tests/pos/i1990.scala b/tests/pos/i1990.scala
new file mode 100644
index 000000000..77cea0af7
--- /dev/null
+++ b/tests/pos/i1990.scala
@@ -0,0 +1,12 @@
+class A {
+ class Foo {
+ inline def inlineMeth: Unit = {
+ new Bar
+ }
+ }
+ class Bar
+}
+
+class B extends A {
+ (new Foo).inlineMeth
+}
diff --git a/tests/pos/i1990a.scala b/tests/pos/i1990a.scala
new file mode 100644
index 000000000..f6f95ee36
--- /dev/null
+++ b/tests/pos/i1990a.scala
@@ -0,0 +1,20 @@
+class A { self =>
+ class Foo {
+ inline def inlineMeth: Unit = {
+ println(self)
+ }
+ }
+}
+
+class C extends A {
+ class B extends A
+}
+
+object Test {
+ def main(args: Array[String]): Unit = {
+ val c = new C
+ val b = new c.B
+
+ (new b.Foo).inlineMeth
+ }
+}
diff --git a/tests/run/builder.check b/tests/run/builder.check
new file mode 100644
index 000000000..48f7d9253
--- /dev/null
+++ b/tests/run/builder.check
@@ -0,0 +1 @@
+Table(Row(Cell(A1), Cell(B1)), Row(Cell(A2), Cell(B2)))
diff --git a/tests/run/builder.scala b/tests/run/builder.scala
new file mode 100644
index 000000000..532a95071
--- /dev/null
+++ b/tests/run/builder.scala
@@ -0,0 +1,51 @@
+import collection.mutable.ArrayBuffer
+
+class Table {
+ val rows = new ArrayBuffer[Row]
+ def add(r: Row): Unit = rows += r
+ override def toString = rows.mkString("Table(", ", ", ")")
+}
+
+class Row {
+ val cells = new ArrayBuffer[Cell]
+ def add(c: Cell): Unit = cells += c
+ override def toString = cells.mkString("Row(", ", ", ")")
+}
+
+class Cell(elem: String) {
+ override def toString = s"Cell($elem)"
+}
+
+object Test {
+
+ def table(init: implicit Table => Unit) = {
+ implicit val t = new Table
+ init
+ t
+ }
+
+ def row(init: implicit Row => Unit)(implicit t: Table) = {
+ implicit val r = new Row
+ init
+ t.add(r)
+ }
+
+ def cell(str: String)(implicit r: Row) =
+ r.add(new Cell(str))
+
+ val data =
+ table {
+ row {
+ cell("A1")
+ cell("B1")
+ }
+ row {
+ cell("A2")
+ cell("B2")
+ }
+ }
+
+ def main(args: Array[String]) = {
+ println(data)
+ }
+}
diff --git a/tests/run/i1990b.check b/tests/run/i1990b.check
new file mode 100644
index 000000000..dd84bc9fb
--- /dev/null
+++ b/tests/run/i1990b.check
@@ -0,0 +1 @@
+C()
diff --git a/tests/run/i1990b.scala b/tests/run/i1990b.scala
new file mode 100644
index 000000000..2460208db
--- /dev/null
+++ b/tests/run/i1990b.scala
@@ -0,0 +1,20 @@
+trait A { self =>
+ class Foo {
+ inline def inlineMeth: Unit = {
+ println(self)
+ }
+ }
+}
+
+case class A2() extends A {
+ case class C() extends Foo with A
+
+ val c = new C
+ (new c.Foo).inlineMeth
+}
+
+object Test {
+ def main(args: Array[String]): Unit = {
+ new A2
+ }
+}
diff --git a/tests/run/i1991.scala b/tests/run/i1991.scala
new file mode 100644
index 000000000..cec1dec89
--- /dev/null
+++ b/tests/run/i1991.scala
@@ -0,0 +1,29 @@
+import scala.reflect.ClassTag
+
+class A[Foo](implicit tag: ClassTag[Foo]) {
+ object ExtractFoo {
+ def unapply(foo: Foo): Boolean = true
+ }
+
+ def isFoo(x: Any) = x match {
+ case ExtractFoo() => true
+ //case foo: Foo => true
+ case _ => false
+ }
+
+ def testBind(x: Any) = x match {
+ case foo0: Foo =>
+ (foo0: Foo)
+ case foo1 @ (_: Foo) =>
+ (foo1: Foo)
+ case foo2 @ ExtractFoo() =>
+ (foo2: Foo)
+ }
+}
+
+object Test {
+ def main(args: Array[String]): Unit = {
+ assert((new A[String]).isFoo("foo")) // OK
+ assert(!(new A[String]).isFoo(42)) // OK in scalac, fails in Dotty
+ }
+}