summaryrefslogtreecommitdiff
path: root/test/files/pos
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2009-08-18 17:24:36 +0000
committerMartin Odersky <odersky@gmail.com>2009-08-18 17:24:36 +0000
commitec18f148e8afc4101878cd8b05eadac92d26b64c (patch)
tree7602e12f0a5cab24fea2f73d91a794fbde52bf5b /test/files/pos
parent6b5b635f095e29b37fa30487c5a1cf5804107795 (diff)
downloadscala-ec18f148e8afc4101878cd8b05eadac92d26b64c.tar.gz
scala-ec18f148e8afc4101878cd8b05eadac92d26b64c.tar.bz2
scala-ec18f148e8afc4101878cd8b05eadac92d26b64c.zip
Fixed memory leaks for streams.
Diffstat (limited to 'test/files/pos')
-rwxr-xr-xtest/files/pos/exbound.scala7
-rwxr-xr-xtest/files/pos/implicits.scala32
-rwxr-xr-xtest/files/pos/t1614/bar.scala4
-rwxr-xr-xtest/files/pos/t1614/foo.scala12
4 files changed, 55 insertions, 0 deletions
diff --git a/test/files/pos/exbound.scala b/test/files/pos/exbound.scala
new file mode 100755
index 0000000000..243d5832ce
--- /dev/null
+++ b/test/files/pos/exbound.scala
@@ -0,0 +1,7 @@
+class A[T <: A[T]] {
+
+}
+
+object Test {
+ val x: A[X] forSome { type X } = null
+}
diff --git a/test/files/pos/implicits.scala b/test/files/pos/implicits.scala
new file mode 100755
index 0000000000..88632850fa
--- /dev/null
+++ b/test/files/pos/implicits.scala
@@ -0,0 +1,32 @@
+// #1579
+object Test1579 {
+ class Column
+ class Query[E](val value: E)
+ class Invoker(q: Any) { val foo = null }
+
+ implicit def unwrap[C](q: Query[C]) = q.value
+ implicit def invoker(q: Query[Column]) = new Invoker(q)
+
+ val q = new Query(new Column)
+ q.foo
+}
+// #1625
+object Test1625 {
+
+ class Wrapped(x:Any) {
+ def unwrap() = x
+ }
+
+ implicit def byName[A](x: =>A) = new Wrapped(x)
+
+ implicit def byVal[A](x: A) = x
+
+ def main(args: Array[String]) = {
+
+// val res:Wrapped = 7 // works
+
+ val res = 7.unwrap() // doesn't work
+
+ println("=> result: " + res)
+ }
+}
diff --git a/test/files/pos/t1614/bar.scala b/test/files/pos/t1614/bar.scala
new file mode 100755
index 0000000000..be994c3af3
--- /dev/null
+++ b/test/files/pos/t1614/bar.scala
@@ -0,0 +1,4 @@
+// bar.scala
+object Bar {
+ val a = new FooImpl with AbstractOverrideFoo
+}
diff --git a/test/files/pos/t1614/foo.scala b/test/files/pos/t1614/foo.scala
new file mode 100755
index 0000000000..e6cc41bafd
--- /dev/null
+++ b/test/files/pos/t1614/foo.scala
@@ -0,0 +1,12 @@
+// foo.scala
+trait Foo {
+ def foo(arg: List[_])
+}
+trait FooImpl extends Foo {
+ def foo(arg: List[_]) {}
+}
+trait AbstractOverrideFoo extends Foo {
+ abstract override def foo(arg: List[_]) {
+ super.foo(arg)
+ }
+}