summaryrefslogtreecommitdiff
path: root/test/pending/pos/t2127.scala
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2009-10-02 17:57:16 +0000
committerMartin Odersky <odersky@gmail.com>2009-10-02 17:57:16 +0000
commit83b67aa805fd1329d6bcc54b1c1fa16416437b6f (patch)
tree3fcc59ba0523f644bceef4676f7a6689f9949417 /test/pending/pos/t2127.scala
parent84146e2f53fb1f5e8abbc521121078e932cf82e7 (diff)
downloadscala-83b67aa805fd1329d6bcc54b1c1fa16416437b6f.tar.gz
scala-83b67aa805fd1329d6bcc54b1c1fa16416437b6f.tar.bz2
scala-83b67aa805fd1329d6bcc54b1c1fa16416437b6f.zip
Sequence->Seq
Diffstat (limited to 'test/pending/pos/t2127.scala')
-rw-r--r--test/pending/pos/t2127.scala29
1 files changed, 29 insertions, 0 deletions
diff --git a/test/pending/pos/t2127.scala b/test/pending/pos/t2127.scala
new file mode 100644
index 0000000000..a196a95c58
--- /dev/null
+++ b/test/pending/pos/t2127.scala
@@ -0,0 +1,29 @@
+
+
+As discussed here: http://www.nabble.com/Companion-object-constructor-visibility-td24342096.html
+
+//Simplified example:
+
+ class Foo private (val value : Int)
+
+ abstract class Bar(val ctor : (Int) => Foo)
+
+ object Foo extends Bar(new Foo(_)) //<--- ILLEGAL ACCESS
+
+//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.