diff options
Diffstat (limited to 'test/files/neg')
-rw-r--r-- | test/files/neg/anyval-anyref-parent.check | 6 | ||||
-rw-r--r-- | test/files/neg/valueclasses-doubledefs.check | 7 | ||||
-rw-r--r-- | test/files/neg/valueclasses.check | 31 |
3 files changed, 27 insertions, 17 deletions
diff --git a/test/files/neg/anyval-anyref-parent.check b/test/files/neg/anyval-anyref-parent.check index e1903f5fcc..fe20e5de81 100644 --- a/test/files/neg/anyval-anyref-parent.check +++ b/test/files/neg/anyval-anyref-parent.check @@ -1,10 +1,10 @@ -anyval-anyref-parent.scala:2: error: Only classes (not traits) are allowed to extend AnyVal +anyval-anyref-parent.scala:2: error: only classes (not traits) are allowed to extend AnyVal trait Foo2 extends AnyVal // fail ^ anyval-anyref-parent.scala:5: error: Any does not have a constructor class Bar1 extends Any // fail ^ -anyval-anyref-parent.scala:6: error: Value class needs to have exactly one public val parameter +anyval-anyref-parent.scala:6: error: value class needs to have exactly one public val parameter class Bar2(x: Int) extends AnyVal // fail ^ anyval-anyref-parent.scala:10: error: illegal inheritance; superclass Any @@ -17,7 +17,7 @@ anyval-anyref-parent.scala:11: error: illegal inheritance; superclass AnyVal of the mixin trait Immutable trait Foo5 extends AnyVal with Immutable // fail ^ -anyval-anyref-parent.scala:11: error: Only classes (not traits) are allowed to extend AnyVal +anyval-anyref-parent.scala:11: error: only classes (not traits) are allowed to extend AnyVal trait Foo5 extends AnyVal with Immutable // fail ^ 6 errors found diff --git a/test/files/neg/valueclasses-doubledefs.check b/test/files/neg/valueclasses-doubledefs.check new file mode 100644 index 0000000000..556d7a0900 --- /dev/null +++ b/test/files/neg/valueclasses-doubledefs.check @@ -0,0 +1,7 @@ +valueclasses-doubledefs.scala:5: error: double definition: +method apply:(x: Meter)String and +method apply:(x: Double)String at line 4 +have same type after erasure: (x: Double)String + def apply(x: Meter) = x.toString + ^ +one error found diff --git a/test/files/neg/valueclasses.check b/test/files/neg/valueclasses.check index 30ee689511..756a0474fa 100644 --- a/test/files/neg/valueclasses.check +++ b/test/files/neg/valueclasses.check @@ -1,43 +1,46 @@ -valueclasses.scala:3: error: Only classes (not traits) are allowed to extend AnyVal +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 +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 +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 +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 +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 +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 +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 +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 +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: 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 +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: this statement is not allowed in value class: private[this] val y: Int = V9.this.x val y = x // 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 +valueclasses.scala:31: error: value class needs to have exactly one public val parameter class V13(x: Int) extends AnyVal // fail ^ -14 errors found +valueclasses.scala:45: error: value class must have public primary constructor +final class TOD private (val secondsOfDay: Int) extends AnyVal { // should fail with private constructor + ^ +15 errors found |