summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSom Snytt <som.snytt@gmail.com>2016-08-17 16:07:24 -0700
committerSom Snytt <som.snytt@gmail.com>2016-08-24 12:34:19 -0700
commit6db54e82d00c087c360eb6308a2bcdf6b044c9d3 (patch)
treeca1fc0eca20bd4c9b9a03a9966df7219257af114
parent81a67eeacc7d2622ee364a21203b227142e2043e (diff)
downloadscala-6db54e82d00c087c360eb6308a2bcdf6b044c9d3.tar.gz
scala-6db54e82d00c087c360eb6308a2bcdf6b044c9d3.tar.bz2
scala-6db54e82d00c087c360eb6308a2bcdf6b044c9d3.zip
SI-9841 Regression test for init SO
Verifies example behavior in ticket.
-rw-r--r--test/files/run/t9841.scala24
1 files changed, 24 insertions, 0 deletions
diff --git a/test/files/run/t9841.scala b/test/files/run/t9841.scala
new file mode 100644
index 0000000000..19cfef28a5
--- /dev/null
+++ b/test/files/run/t9841.scala
@@ -0,0 +1,24 @@
+// SI-9841 regrettable behavior initializing private inner object
+// A fix is not yet planned for 2.11.9, but it works in 2.12.x.
+//
+//at Container.Container$$Inner$lzycompute(t9841.scala:4)
+//at Container.Container$$Inner(t9841.scala:4)
+//at Container$Inner$.<init>(t9841.scala:5)
+//
+class Container {
+ private case class Inner(s: String)
+ private object Inner {
+ val Empty = Inner("")
+ }
+ private val state = Inner.Empty
+}
+
+object Test extends App {
+ val catcher: PartialFunction[Throwable, Unit] = {
+ case _: StackOverflowError =>
+ }
+ try {
+ new Container
+ Console println "Expected StackOverflowError"
+ } catch catcher
+}