summaryrefslogtreecommitdiff
path: root/test/files/neg/valueclasses.check
diff options
context:
space:
mode:
Diffstat (limited to 'test/files/neg/valueclasses.check')
-rw-r--r--test/files/neg/valueclasses.check46
1 files changed, 46 insertions, 0 deletions
diff --git a/test/files/neg/valueclasses.check b/test/files/neg/valueclasses.check
new file mode 100644
index 0000000000..c4430c8e1a
--- /dev/null
+++ b/test/files/neg/valueclasses.check
@@ -0,0 +1,46 @@
+valueclasses.scala:3: error: Only classes (not traits) are allowed to extend AnyVal
+trait T extends AnyVal // fail
+ ^
+valueclasses.scala:6: error: Value class may not be a member of another class
+ class Bar(x: Int) extends AnyVal // fail
+ ^
+valueclasses.scala:8: error: Value class may not be a local class
+ class Baz(x: Int) extends AnyVal // fail
+ ^
+valueclasses.scala:12: error: Value class needs to have exactly one public val parameter
+class V1 extends AnyVal // fail
+ ^
+valueclasses.scala:14: error: Value class needs to have a publicly accessible val parameter
+class V2(private[test] val x: Int) extends AnyVal // fail
+ ^
+valueclasses.scala:15: error: Value class needs to have a publicly accessible val parameter
+class V3(protected[test] val x: Int) extends AnyVal // fail
+ ^
+valueclasses.scala:16: error: Value class needs to have a publicly accessible val parameter
+class V4(protected val x: Int) extends AnyVal // fail
+ ^
+valueclasses.scala:17: error: Value class needs to have a publicly accessible val parameter
+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
+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
+ val y = x // fail
+ ^
+valueclasses.scala:27: error: Type of parameter of value class may not be a type variable
+class V10[T](val x: T) extends AnyVal // fail
+ ^
+valueclasses.scala:29: error: type parameter of value class may not be specialized
+class V12[@specialized T, U](val x: (T, U)) extends AnyVal // fail
+ ^
+valueclasses.scala:31: error: Value class needs to have exactly one public val parameter
+class V13(x: Int) extends AnyVal // fail
+ ^
+15 errors found