summaryrefslogtreecommitdiff
path: root/test/files/pos/clsrefine.scala
diff options
context:
space:
mode:
authorGilles Dubochet <gilles.dubochet@epfl.ch>2005-12-16 18:29:42 +0000
committerGilles Dubochet <gilles.dubochet@epfl.ch>2005-12-16 18:29:42 +0000
commitdf50e05006b43b007c2587549030d24b5c154398 (patch)
tree9edfb1fb5b8c04350a00c163cfcdb1fccd79e3aa /test/files/pos/clsrefine.scala
parent17e2b1c2a6f69ba74e79c30d1e44195fe732e3e3 (diff)
downloadscala-df50e05006b43b007c2587549030d24b5c154398.tar.gz
scala-df50e05006b43b007c2587549030d24b5c154398.tar.bz2
scala-df50e05006b43b007c2587549030d24b5c154398.zip
'test-nsc' has been moved to 'test'.
Diffstat (limited to 'test/files/pos/clsrefine.scala')
-rw-r--r--test/files/pos/clsrefine.scala40
1 files changed, 40 insertions, 0 deletions
diff --git a/test/files/pos/clsrefine.scala b/test/files/pos/clsrefine.scala
new file mode 100644
index 0000000000..d63923b5e6
--- /dev/null
+++ b/test/files/pos/clsrefine.scala
@@ -0,0 +1,40 @@
+import scala._;
+
+package scalac.util {
+
+trait A {
+ type X1;
+ type X2;
+ val x1: X1;
+ val x2: X2;
+}
+trait B extends A {
+ type Y;
+ val y1, y2: Y;
+ type X1 = Y;
+ type X2 = Y;
+ val x1 = y1;
+ val x2 = y2;
+ def f(x: Y, xs: B): Unit = {}
+ def g() = f(y1, this);
+}
+
+object test {
+ val b: B { type Y = Int } = new B {
+ type Y = Int;
+ val y1, y2 = 1;
+ }
+ val a: A { type X1 = Int; type X2 = Int } = b;
+ val a1 = new A {
+ type X1 = Int;
+ type X2 = String;
+ val x1 = 1;
+ val x2 = "hello"
+ }
+ val b1 = new B {
+ type Y = Any;
+ val y1 = 1;
+ val y2 = "hello";
+ }
+}
+} \ No newline at end of file