summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJason Zaugg <jzaugg@gmail.com>2012-12-19 16:27:26 +0100
committerJason Zaugg <jzaugg@gmail.com>2012-12-19 19:33:22 +0100
commitb53c35c0660527a978dc44ea49fd66766e1a126d (patch)
treec616b7f2056589dd2e4bb58bfe21f90088e8ba9b
parent14b804556e3522042413a1d5e689d3e4db1e1635 (diff)
downloadscala-b53c35c0660527a978dc44ea49fd66766e1a126d.tar.gz
scala-b53c35c0660527a978dc44ea49fd66766e1a126d.tar.bz2
scala-b53c35c0660527a978dc44ea49fd66766e1a126d.zip
Implicit vars should have non-implicit setters.
Otherwise they trigger spurious feature warnings. scala> trait T { implicit var a: Any } <console>:7: warning: implicit conversion method a_= should be enabled by making the implicit value language.implicitConversions visible.
-rw-r--r--src/reflect/scala/reflect/internal/Flags.scala2
-rw-r--r--test/files/pos/setter-not-implicit.flags1
-rw-r--r--test/files/pos/setter-not-implicit.scala3
3 files changed, 5 insertions, 1 deletions
diff --git a/src/reflect/scala/reflect/internal/Flags.scala b/src/reflect/scala/reflect/internal/Flags.scala
index 30dd9c3e49..a0362c8921 100644
--- a/src/reflect/scala/reflect/internal/Flags.scala
+++ b/src/reflect/scala/reflect/internal/Flags.scala
@@ -262,7 +262,7 @@ class Flags extends ModifierFlags {
* Getters of immutable values also get STABLE.
*/
final val GetterFlags = ~(PRESUPER | MUTABLE)
- final val SetterFlags = ~(PRESUPER | MUTABLE | STABLE | CASEACCESSOR)
+ final val SetterFlags = ~(PRESUPER | MUTABLE | STABLE | CASEACCESSOR | IMPLICIT)
/** When a symbol for a default getter is created, it inherits these
* flags from the method with the default. Other flags applied at creation
diff --git a/test/files/pos/setter-not-implicit.flags b/test/files/pos/setter-not-implicit.flags
new file mode 100644
index 0000000000..792c40565b
--- /dev/null
+++ b/test/files/pos/setter-not-implicit.flags
@@ -0,0 +1 @@
+-feature -Xfatal-warnings \ No newline at end of file
diff --git a/test/files/pos/setter-not-implicit.scala b/test/files/pos/setter-not-implicit.scala
new file mode 100644
index 0000000000..9bfffc2ceb
--- /dev/null
+++ b/test/files/pos/setter-not-implicit.scala
@@ -0,0 +1,3 @@
+object O {
+ implicit var x: Int = 0
+}