aboutsummaryrefslogtreecommitdiff
path: root/tests/run
diff options
context:
space:
mode:
authorNicolas Stucki <nicolas.stucki@gmail.com>2017-01-06 10:58:12 +0100
committerNicolas Stucki <nicolas.stucki@gmail.com>2017-01-06 15:12:05 +0100
commit9f505a42a1c100eedab9748321a77d4bc345af61 (patch)
treea1d53549419e63f8dab3b596d0169b8c5bf57b8a /tests/run
parent42eb864dc752254fc3b8b0428570fe94aa1dafc7 (diff)
downloaddotty-9f505a42a1c100eedab9748321a77d4bc345af61.tar.gz
dotty-9f505a42a1c100eedab9748321a77d4bc345af61.tar.bz2
dotty-9f505a42a1c100eedab9748321a77d4bc345af61.zip
Fix #1877: Add forwarders for primitive/generic mixins.
Diffstat (limited to 'tests/run')
-rw-r--r--tests/run/mixin-primitive-on-generic-1.check2
-rw-r--r--tests/run/mixin-primitive-on-generic-1.scala19
-rw-r--r--tests/run/mixin-primitive-on-generic-2.check2
-rw-r--r--tests/run/mixin-primitive-on-generic-2.scala19
-rw-r--r--tests/run/mixin-primitive-on-generic-3.check2
-rw-r--r--tests/run/mixin-primitive-on-generic-3.scala21
6 files changed, 65 insertions, 0 deletions
diff --git a/tests/run/mixin-primitive-on-generic-1.check b/tests/run/mixin-primitive-on-generic-1.check
new file mode 100644
index 000000000..bb101b641
--- /dev/null
+++ b/tests/run/mixin-primitive-on-generic-1.check
@@ -0,0 +1,2 @@
+true
+true
diff --git a/tests/run/mixin-primitive-on-generic-1.scala b/tests/run/mixin-primitive-on-generic-1.scala
new file mode 100644
index 000000000..470f543ce
--- /dev/null
+++ b/tests/run/mixin-primitive-on-generic-1.scala
@@ -0,0 +1,19 @@
+
+object Test {
+ def main(args: Array[String]): Unit = {
+ println((new Foo: Baz).value1)
+ println((new Foo: Baz).value2)
+ }
+}
+
+class Foo extends Bar[Boolean](true) with Baz
+
+class Bar[T](x: T) {
+ def value1: T = x
+ def value2(): T = x
+}
+
+trait Baz {
+ def value1: Boolean
+ def value2(): Boolean
+}
diff --git a/tests/run/mixin-primitive-on-generic-2.check b/tests/run/mixin-primitive-on-generic-2.check
new file mode 100644
index 000000000..bb101b641
--- /dev/null
+++ b/tests/run/mixin-primitive-on-generic-2.check
@@ -0,0 +1,2 @@
+true
+true
diff --git a/tests/run/mixin-primitive-on-generic-2.scala b/tests/run/mixin-primitive-on-generic-2.scala
new file mode 100644
index 000000000..37e3f6035
--- /dev/null
+++ b/tests/run/mixin-primitive-on-generic-2.scala
@@ -0,0 +1,19 @@
+
+object Test {
+ def main(args: Array[String]): Unit = {
+ println((new Foo: Bar[Boolean]).value1)
+ println((new Foo: Bar[Boolean]).value2)
+ }
+}
+
+class Foo extends Baz with Bar[Boolean]
+
+trait Bar[T] {
+ def value1: T
+ def value2(): T
+}
+
+class Baz {
+ def value1: Boolean = true
+ def value2(): Boolean = true
+}
diff --git a/tests/run/mixin-primitive-on-generic-3.check b/tests/run/mixin-primitive-on-generic-3.check
new file mode 100644
index 000000000..bb101b641
--- /dev/null
+++ b/tests/run/mixin-primitive-on-generic-3.check
@@ -0,0 +1,2 @@
+true
+true
diff --git a/tests/run/mixin-primitive-on-generic-3.scala b/tests/run/mixin-primitive-on-generic-3.scala
new file mode 100644
index 000000000..f6ff0b63e
--- /dev/null
+++ b/tests/run/mixin-primitive-on-generic-3.scala
@@ -0,0 +1,21 @@
+
+object Test {
+ def main(args: Array[String]): Unit = {
+ println((new Foo: Baz).value)
+ println((new Foo: Qux).value)
+ }
+}
+
+class Foo extends Bar[Boolean](true) with Baz with Qux
+
+class Bar[T](x: T) {
+ def value: T = x
+}
+
+trait Baz {
+ def value: Boolean
+}
+
+trait Qux {
+ def value: Boolean
+}