diff options
author | Martin Odersky <odersky@gmail.com> | 2014-10-07 14:23:38 +0200 |
---|---|---|
committer | Dmitry Petrashko <dmitry.petrashko@gmail.com> | 2014-10-12 10:50:57 +0200 |
commit | fd81127c6255d01237dd98e8296abf6fdfe80741 (patch) | |
tree | c9c6f2f6f17173fb5539c57022f68274e495a281 /tests/pos/lambdalift.scala | |
parent | fa44d5cd694d76e285ebadcdf297f0d13936a6e9 (diff) | |
download | dotty-fd81127c6255d01237dd98e8296abf6fdfe80741.tar.gz dotty-fd81127c6255d01237dd98e8296abf6fdfe80741.tar.bz2 dotty-fd81127c6255d01237dd98e8296abf6fdfe80741.zip |
New tests
Diffstat (limited to 'tests/pos/lambdalift.scala')
-rw-r--r-- | tests/pos/lambdalift.scala | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/tests/pos/lambdalift.scala b/tests/pos/lambdalift.scala new file mode 100644 index 000000000..febae6828 --- /dev/null +++ b/tests/pos/lambdalift.scala @@ -0,0 +1,46 @@ +object test { + + def foo(x: Int) = { + + def bar(y: Int) = x + y + def baz(z: Int) = bar(z) + + baz(1) + + } + + def foo2(x: Int) = { + + class C { + def bam(y: Int): String => Int = { + def baz = x + y + z => baz * z.length + } + } + + val fun = new C().bam(1) + fun("abc") + + } +} + +class Super(x: Int) + +class Sub extends Super({ + def foo3(x: Int) = { + + class C { + def this(name: String) = this() + + def bam(y: Int): String => Int = { + def baz = x + y + z => baz * z.length + } + } + + val fun = new C("dummy").bam(1) + fun("abc") + + } + foo3(22) +}) |