From ec18f148e8afc4101878cd8b05eadac92d26b64c Mon Sep 17 00:00:00 2001 From: Martin Odersky Date: Tue, 18 Aug 2009 17:24:36 +0000 Subject: Fixed memory leaks for streams. --- test/files/pos/exbound.scala | 7 +++++++ test/files/pos/implicits.scala | 32 ++++++++++++++++++++++++++++++++ test/files/pos/t1614/bar.scala | 4 ++++ test/files/pos/t1614/foo.scala | 12 ++++++++++++ 4 files changed, 55 insertions(+) create mode 100755 test/files/pos/exbound.scala create mode 100755 test/files/pos/implicits.scala create mode 100755 test/files/pos/t1614/bar.scala create mode 100755 test/files/pos/t1614/foo.scala (limited to 'test/files/pos') 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) + } +} -- cgit v1.2.3