diff options
author | Paul Phillips <paulp@improving.org> | 2011-01-20 18:19:28 +0000 |
---|---|---|
committer | Paul Phillips <paulp@improving.org> | 2011-01-20 18:19:28 +0000 |
commit | a8a7481ab79430bef3ca9524538fa5217e0e14d8 (patch) | |
tree | c2c3dd346052b91c1186d773b073e4c4af96525f /test/files | |
parent | 919d4e1f3163496d725f7731d2ccd30d47ecee82 (diff) | |
download | scala-a8a7481ab79430bef3ca9524538fa5217e0e14d8.tar.gz scala-a8a7481ab79430bef3ca9524538fa5217e0e14d8.tar.bz2 scala-a8a7481ab79430bef3ca9524538fa5217e0e14d8.zip |
Look even harder for attempts to sneak "this" i...
Look even harder for attempts to sneak "this" into superconstructor
arguments, and improve positioning. Closes #4166, no review.
Diffstat (limited to 'test/files')
-rw-r--r-- | test/files/neg/bug3913.check | 2 | ||||
-rw-r--r-- | test/files/neg/bug4166.check | 4 | ||||
-rw-r--r-- | test/files/neg/bug4166.scala | 11 | ||||
-rw-r--r-- | test/files/neg/bug473.check | 2 |
4 files changed, 17 insertions, 2 deletions
diff --git a/test/files/neg/bug3913.check b/test/files/neg/bug3913.check index 0ab8708bc8..e6df31fb23 100644 --- a/test/files/neg/bug3913.check +++ b/test/files/neg/bug3913.check @@ -1,4 +1,4 @@ bug3913.scala:2: error: super constructor cannot be passed a self reference unless parameter is declared by-name object LimboStage extends Stage( Set( LimboStage )) - ^ + ^ one error found diff --git a/test/files/neg/bug4166.check b/test/files/neg/bug4166.check new file mode 100644 index 0000000000..938dad1488 --- /dev/null +++ b/test/files/neg/bug4166.check @@ -0,0 +1,4 @@ +bug4166.scala:3: error: super constructor arguments cannot reference unconstructed `this` +class Demo extends Base(new { Demo.this }) { + ^ +one error found diff --git a/test/files/neg/bug4166.scala b/test/files/neg/bug4166.scala new file mode 100644 index 0000000000..c20796c43c --- /dev/null +++ b/test/files/neg/bug4166.scala @@ -0,0 +1,11 @@ +class Base(a: Any) + +class Demo extends Base(new { Demo.this }) { + val x: Any = () +} + + +class Demo2 extends Base(new { this }) { + val x: Any = () +} + diff --git a/test/files/neg/bug473.check b/test/files/neg/bug473.check index 7d21dfb210..7e3c4a4ed5 100644 --- a/test/files/neg/bug473.check +++ b/test/files/neg/bug473.check @@ -1,4 +1,4 @@ bug473.scala:3: error: super constructor cannot be passed a self reference unless parameter is declared by-name case object Voop extends Foo(Voop) - ^ + ^ one error found |