aboutsummaryrefslogtreecommitdiff
path: root/tests/pos/t3278.scala
diff options
context:
space:
mode:
Diffstat (limited to 'tests/pos/t3278.scala')
-rw-r--r--tests/pos/t3278.scala30
1 files changed, 30 insertions, 0 deletions
diff --git a/tests/pos/t3278.scala b/tests/pos/t3278.scala
new file mode 100644
index 000000000..05bfbc146
--- /dev/null
+++ b/tests/pos/t3278.scala
@@ -0,0 +1,30 @@
+class Foo
+class Test {
+ def update[B](x : B, b : Int): Unit = {}
+ def apply[B](x : B) = 1
+}
+class Test2 {
+ type B = Foo
+ def update(x : B, b : Int): Unit = {}
+ def apply(x : B) = 1
+}
+
+object Test {
+ def main(a : Array[String]): Unit = {
+ val a = new Test
+ val f = new Foo
+ a(f) = 1 //works
+ a(f) = a(f) + 1 //works
+ a(f) += 1 //error: reassignment to val
+ }
+}
+object Test2 {
+ def main(args : Array[String]): Unit = {
+ args(0) += "a"
+ val a = new Test2
+ val f = new Foo
+ a(f) = 1 //works
+ a(f) = a(f) + 1 //works
+ a(f) += 1 //error: reassignment to val
+ }
+}