diff options
author | Martin Odersky <odersky@gmail.com> | 2012-07-28 18:35:49 +0200 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2012-07-28 18:35:59 +0200 |
commit | 95d53235834ab650ded6768958697d2901fd4dd3 (patch) | |
tree | e712179c1b975aa880746ef82d581353a5480931 /test/files/neg | |
parent | 1f95d356ee69a442f98aedc024a1aa7e4672d20a (diff) | |
download | scala-95d53235834ab650ded6768958697d2901fd4dd3.tar.gz scala-95d53235834ab650ded6768958697d2901fd4dd3.tar.bz2 scala-95d53235834ab650ded6768958697d2901fd4dd3.zip |
Closes SI-5882
I have added a restriction that value classes may not contain inner classes or objects. This makes sense as the "outer" field of any such classes or objects would be ephemeral, with surprising results. SIP-15 has been changed accordingly.
Diffstat (limited to 'test/files/neg')
-rw-r--r-- | test/files/neg/t5882.check | 15 | ||||
-rw-r--r-- | test/files/neg/t5882.scala | 5 |
2 files changed, 20 insertions, 0 deletions
diff --git a/test/files/neg/t5882.check b/test/files/neg/t5882.check new file mode 100644 index 0000000000..df01c7bc0a --- /dev/null +++ b/test/files/neg/t5882.check @@ -0,0 +1,15 @@ +t5882.scala:2: warning: case classes without a parameter list have been deprecated; +use either case objects or case classes with `()' as parameter list. + case class Scope + ^ +t5882.scala:2: error: value class may not have nested class definitions + case class Scope + ^ +t5882.scala:3: error: value class may not have nested class definitions + class Foo + ^ +t5882.scala:4: error: value class may not have nested module definitions + object Bar + ^ +one warning found +three errors found diff --git a/test/files/neg/t5882.scala b/test/files/neg/t5882.scala new file mode 100644 index 0000000000..1233eb636f --- /dev/null +++ b/test/files/neg/t5882.scala @@ -0,0 +1,5 @@ +class NodeOps(val n: Any) extends AnyVal { + case class Scope + class Foo + object Bar +} |