summaryrefslogtreecommitdiff
path: root/test/files/pos
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2003-05-28 14:20:30 +0000
committerMartin Odersky <odersky@gmail.com>2003-05-28 14:20:30 +0000
commit416062aa915f76195486e2400a2983c4cf372017 (patch)
tree1672ed4ec8319b61a140716646c186e8b68db40f /test/files/pos
parent336e1acd4fb751420bbf0bc51dfc63ddaf9d73f6 (diff)
downloadscala-416062aa915f76195486e2400a2983c4cf372017.tar.gz
scala-416062aa915f76195486e2400a2983c4cf372017.tar.bz2
scala-416062aa915f76195486e2400a2983c4cf372017.zip
*** empty log message ***
Diffstat (limited to 'test/files/pos')
-rw-r--r--test/files/pos/infer2.scala10
-rw-r--r--test/files/pos/michel6.scala6
-rw-r--r--test/files/pos/propagate.scala17
-rw-r--r--test/files/pos/scoping1.scala8
-rw-r--r--test/files/pos/scoping2.scala14
-rw-r--r--test/files/pos/scoping3.scala20
6 files changed, 75 insertions, 0 deletions
diff --git a/test/files/pos/infer2.scala b/test/files/pos/infer2.scala
new file mode 100644
index 0000000000..5e93446cdf
--- /dev/null
+++ b/test/files/pos/infer2.scala
@@ -0,0 +1,10 @@
+module test {
+
+ def f[a, b <: a](x: b): a = x: a;
+ def g[a >: b, b](x: b): a = x: a;
+
+ val x: int = f(1);
+ val y: String = g("")
+
+}
+
diff --git a/test/files/pos/michel6.scala b/test/files/pos/michel6.scala
new file mode 100644
index 0000000000..b32e8bed75
--- /dev/null
+++ b/test/files/pos/michel6.scala
@@ -0,0 +1,6 @@
+object M {
+ def f(x: Int): Unit = {}
+
+ def g(): Int => Unit =
+ if (0 == 0) f else g()
+ }
diff --git a/test/files/pos/propagate.scala b/test/files/pos/propagate.scala
new file mode 100644
index 0000000000..84f4f5d6d2
--- /dev/null
+++ b/test/files/pos/propagate.scala
@@ -0,0 +1,17 @@
+class C {
+
+ def f[a](x: a): a = {
+
+ class D() {
+ def g(x: a) = f(x): a;
+ }
+
+ new D().g(x);
+
+ }
+
+}
+
+
+
+
diff --git a/test/files/pos/scoping1.scala b/test/files/pos/scoping1.scala
new file mode 100644
index 0000000000..8bd443fd21
--- /dev/null
+++ b/test/files/pos/scoping1.scala
@@ -0,0 +1,8 @@
+object This {
+ trait A {
+ def foo(): unit;
+ }
+ class C: A {
+ def bar() = foo();
+ }
+}
diff --git a/test/files/pos/scoping2.scala b/test/files/pos/scoping2.scala
new file mode 100644
index 0000000000..8fcd71bb8b
--- /dev/null
+++ b/test/files/pos/scoping2.scala
@@ -0,0 +1,14 @@
+object That {
+ trait A {
+ type T <: I;
+ trait I {}
+ }
+ trait B {
+ type T <: J;
+ trait J {}
+ }
+ type C = A with B {
+ type T <: I with J;
+ }
+}
+
diff --git a/test/files/pos/scoping3.scala b/test/files/pos/scoping3.scala
new file mode 100644
index 0000000000..4ebc7f6378
--- /dev/null
+++ b/test/files/pos/scoping3.scala
@@ -0,0 +1,20 @@
+object CI {
+ trait TreeDisplay {
+ type TreeNode <: ITreeNode;
+ trait ITreeNode {
+ def display(): unit;
+ }
+ }
+ trait TreeDisplayExp {
+ def getRoot(): TreeNode;
+ type TreeNode <: ITreeNodeExp;
+ trait ITreeNodeExp {}
+ }
+ trait TreeDisplayFinal extends TreeDisplay with TreeDisplayExp {
+ type TreeNode <: ITreeNode with ITreeNodeExp;
+ }
+ abstract class SimpleTreeDisplay: TreeDisplayFinal extends
+TreeDisplay {
+ def display() = { this.getRoot().display(); }
+ }
+}