summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/compiler/scala/tools/nsc/typechecker/Typers.scala4
-rw-r--r--test/files/neg/bug591.check4
-rw-r--r--test/files/neg/bug591.scala (renamed from test/files/pos/bug591.scala)0
3 files changed, 7 insertions, 1 deletions
diff --git a/src/compiler/scala/tools/nsc/typechecker/Typers.scala b/src/compiler/scala/tools/nsc/typechecker/Typers.scala
index 0474700a1b..d7390fd053 100644
--- a/src/compiler/scala/tools/nsc/typechecker/Typers.scala
+++ b/src/compiler/scala/tools/nsc/typechecker/Typers.scala
@@ -654,8 +654,10 @@ trait Typers requires Analyzer {
result
}
def setterDef: DefDef = {
- val setter = value.owner.info.decl(nme.getterToSetter(getter.name));
+ val setter = value.owner.info.decl(nme.getterToSetter(getter.name)).suchThat(.isSetter)
+
assert(setter != NoSymbol, getter);//debug
+
atPos(vdef.pos)(
DefDef(setter, vparamss =>
if (mods hasFlag DEFERRED) EmptyTree
diff --git a/test/files/neg/bug591.check b/test/files/neg/bug591.check
new file mode 100644
index 0000000000..9d1a090053
--- /dev/null
+++ b/test/files/neg/bug591.check
@@ -0,0 +1,4 @@
+bug591.scala:38 error: method input_= is defined twice
+ def input_=(in : Input) = {}
+ ^
+one error found
diff --git a/test/files/pos/bug591.scala b/test/files/neg/bug591.scala
index 94d8068bb3..94d8068bb3 100644
--- a/test/files/pos/bug591.scala
+++ b/test/files/neg/bug591.scala