diff options
author | Martin Odersky <odersky@gmail.com> | 2009-10-12 09:41:13 +0000 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2009-10-12 09:41:13 +0000 |
commit | f75ee36c6fb4386eb89f19c40dfa000076aa9307 (patch) | |
tree | 1c43adb5b8b194a7a9c14d4ad7cdca04261cda68 /test/files/run/t2127.scala | |
parent | bf9ca9a2b7455164c335a48826143749b6b107eb (diff) | |
download | scala-f75ee36c6fb4386eb89f19c40dfa000076aa9307.tar.gz scala-f75ee36c6fb4386eb89f19c40dfa000076aa9307.tar.bz2 scala-f75ee36c6fb4386eb89f19c40dfa000076aa9307.zip |
reverted immutable.Vector because it gave rando...
reverted immutable.Vector because it gave random build errors on my
machine. Fixed various tickets, updated test and check files.
Diffstat (limited to 'test/files/run/t2127.scala')
-rwxr-xr-x | test/files/run/t2127.scala | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/test/files/run/t2127.scala b/test/files/run/t2127.scala new file mode 100755 index 0000000000..869d8a38d6 --- /dev/null +++ b/test/files/run/t2127.scala @@ -0,0 +1,32 @@ +// Seems to be fixed in trunk + +// As discussed here: http://www.nabble.com/Companion-object-constructor-visibility-td24342096.html + +//Simplified example: + + class Test private (val value : Int) + + abstract class Bar(val ctor : (Int) => Test) + + object Test extends Bar(new Test(_)) { //<--- ILLEGAL ACCESS + def main(args: Array[String]){} + } + +//however the following is legal: +/* + class Foo private (val value : Int) + + abstract class Bar{ + + var ctor : (Int) => Foo + + } + + object Foo extends Bar{ + + ctor = new Foo(_) //<--- Legal access + + } + +The constructor invocation of Bar is done within the scope of object Foo's constructor, and therefor the private constructor of Foo should be visible and accessible. +*/ |