summaryrefslogtreecommitdiff
path: root/test/files/neg/valueclasses.check
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2012-09-20 18:22:39 +0200
committerGrzegorz Kossakowski <grzegorz.kossakowski@gmail.com>2012-10-03 13:44:16 +0200
commitef934492df93e0fd3d78e7a3d4f9cccaf765d4d5 (patch)
treee4cedab4789af1180a9be314d422d179f95e0c44 /test/files/neg/valueclasses.check
parente9edc69684b3d55a0aef16325e358036c71f4c57 (diff)
downloadscala-ef934492df93e0fd3d78e7a3d4f9cccaf765d4d5.tar.gz
scala-ef934492df93e0fd3d78e7a3d4f9cccaf765d4d5.tar.bz2
scala-ef934492df93e0fd3d78e7a3d4f9cccaf765d4d5.zip
Revised restrictions for value classes and unversal traits
and brought compiler in line with them. One thing we can accept IMO are nested classes (nested objects are still a problem). In fact, it makes no sense to exclude nested classes from value classes but not from universal traits. A class nested in universal trait will becomes a class nested in a value class by inheritance. Note that the reflection library already contains a universal trait with a nested class (IndexedSeqLike), so we should accept them if we can.
Diffstat (limited to 'test/files/neg/valueclasses.check')
-rw-r--r--test/files/neg/valueclasses.check4
1 files changed, 2 insertions, 2 deletions
diff --git a/test/files/neg/valueclasses.check b/test/files/neg/valueclasses.check
index 4f042faded..3b82a8358c 100644
--- a/test/files/neg/valueclasses.check
+++ b/test/files/neg/valueclasses.check
@@ -25,13 +25,13 @@ class V5(private val x: Int) extends AnyVal // fail
valueclasses.scala:19: error: value class needs to have exactly one public val parameter
class V6(val x: Int, val y: String) extends AnyVal // fail
^
-valueclasses.scala:20: error: illegal parameter for value class
+valueclasses.scala:20: error: field definition is not allowed in value class
class V7(val x: Int, private[this] val y: String) extends AnyVal // fail
^
valueclasses.scala:21: error: value class needs to have exactly one public val parameter
class V8(var x: Int) extends AnyVal // fail
^
-valueclasses.scala:24: error: this statement is not allowed in value class: private[this] val y: Int = V9.this.x
+valueclasses.scala:24: error: field definition is not allowed in value class
val y = x // fail
^
valueclasses.scala:29: error: type parameter of value class may not be specialized