From 6b56405cb39b979dccbadd06110e283a254b6150 Mon Sep 17 00:00:00 2001 From: Paul Phillips Date: Sun, 12 Feb 2012 12:40:11 -0800 Subject: Updated existentials test with non-working parts. Lazy accessors have the same essential problem as described in recent commit messages, so this still doesn't work: def f() = { case class Bob(); Bob } ; lazy val g = f On the whole I'm trying to solve this at the wrong level. The derived accessor methods and fields of a declaration should not ever wander far enough apart that there is any challenge in reconciling them. (The same is true for case classes/objects.) They're dependent synthetics who know about one another from the beginning, all we have to do is not forget. In the meantime, test case. --- test/files/pos/existentials.scala | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'test/files/pos/existentials.scala') diff --git a/test/files/pos/existentials.scala b/test/files/pos/existentials.scala index c51f60b546..0adbc701a6 100644 --- a/test/files/pos/existentials.scala +++ b/test/files/pos/existentials.scala @@ -1,9 +1,22 @@ +/** All of these should work, some don't yet. + * !!! + */ class A { def f() = { case class Bob(); Bob } val quux0 = f() def quux1 = f() + // lazy val quux2 = f() + // def quux3 = { + // lazy val quux3a = f() + // quux3a + // } val bippy0 = f _ def bippy1 = f _ + // lazy val bippy2 = f _ + // val bippy3 = { + // lazy val bippy3a = f _ + // bippy3a + // } } -- cgit v1.2.3