diff options
Diffstat (limited to 'test/files')
-rw-r--r-- | test/files/jvm/serialization.scala | 26 | ||||
-rw-r--r-- | test/files/pos/t1591.scala | 7 | ||||
-rw-r--r-- | test/files/run/t1591.check | 1 | ||||
-rw-r--r-- | test/files/run/t1591.scala | 14 |
4 files changed, 48 insertions, 0 deletions
diff --git a/test/files/jvm/serialization.scala b/test/files/jvm/serialization.scala index 06086f4038..b8656888c6 100644 --- a/test/files/jvm/serialization.scala +++ b/test/files/jvm/serialization.scala @@ -532,6 +532,31 @@ object Test6 { } //############################################################################ +// Nested objects cannot get readresolve automatically because after deserialization +// they would be null (they are treated as lazy vals) +@serializable +class Outer { + + @serializable + object Inner +} + +object Test7 { + val x = new Outer + x.Inner // initialize + try { + val y:Outer = read(write(x)) + if (y.Inner == null) + println("Inner object is null") + } + catch { + case e: Exception => + println("Error in Test7: " + e) + } + +} + +//############################################################################ // Test code object Test { @@ -542,6 +567,7 @@ object Test { Test4_xml Test5 Test6 + Test7 } } diff --git a/test/files/pos/t1591.scala b/test/files/pos/t1591.scala new file mode 100644 index 0000000000..4f55d7ce19 --- /dev/null +++ b/test/files/pos/t1591.scala @@ -0,0 +1,7 @@ +trait A + +object Test { + lazy val a = new A { + object Zenek + } +} diff --git a/test/files/run/t1591.check b/test/files/run/t1591.check new file mode 100644 index 0000000000..48082f72f0 --- /dev/null +++ b/test/files/run/t1591.check @@ -0,0 +1 @@ +12 diff --git a/test/files/run/t1591.scala b/test/files/run/t1591.scala new file mode 100644 index 0000000000..434064a5dd --- /dev/null +++ b/test/files/run/t1591.scala @@ -0,0 +1,14 @@ +abstract class A { + + lazy val lazyBar = bar + + object bar { + val foo = 12 + } + +} + +object Test extends Application { + val a = new A{} + println(a.lazyBar.foo) +} |