From b53c35c0660527a978dc44ea49fd66766e1a126d Mon Sep 17 00:00:00 2001 From: Jason Zaugg Date: Wed, 19 Dec 2012 16:27:26 +0100 Subject: Implicit vars should have non-implicit setters. Otherwise they trigger spurious feature warnings. scala> trait T { implicit var a: Any } :7: warning: implicit conversion method a_= should be enabled by making the implicit value language.implicitConversions visible. --- src/reflect/scala/reflect/internal/Flags.scala | 2 +- test/files/pos/setter-not-implicit.flags | 1 + test/files/pos/setter-not-implicit.scala | 3 +++ 3 files changed, 5 insertions(+), 1 deletion(-) create mode 100644 test/files/pos/setter-not-implicit.flags create mode 100644 test/files/pos/setter-not-implicit.scala 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 +} -- cgit v1.2.3