summaryrefslogtreecommitdiff
path: root/src/compiler/scala/tools/nsc/typechecker/Namers.scala
diff options
context:
space:
mode:
authorJames Iry <james.iry@typesafe.com>2012-12-10 14:49:23 -0800
committerJames Iry <james.iry@typesafe.com>2012-12-10 14:49:23 -0800
commit71e42a799aa11fda75d9d3e7b92da9f61dd1da5b (patch)
treeb22fb2ad6bdf5d3a5cbb0d12e966eb4317faada3 /src/compiler/scala/tools/nsc/typechecker/Namers.scala
parent7fe7d2537963dd24ea1cca7b0c4b96f96b773c4a (diff)
downloadscala-71e42a799aa11fda75d9d3e7b92da9f61dd1da5b.tar.gz
scala-71e42a799aa11fda75d9d3e7b92da9f61dd1da5b.tar.bz2
scala-71e42a799aa11fda75d9d3e7b92da9f61dd1da5b.zip
SI-6795 Adds negative check for "abstract override" on types in traits
"abstract override" shouldn't was being allowed on types in traits but the result made no sense and the spec says that shouldn't be allowed.
Diffstat (limited to 'src/compiler/scala/tools/nsc/typechecker/Namers.scala')
-rw-r--r--src/compiler/scala/tools/nsc/typechecker/Namers.scala4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/compiler/scala/tools/nsc/typechecker/Namers.scala b/src/compiler/scala/tools/nsc/typechecker/Namers.scala
index 3f546c9a51..c6eacf1fb7 100644
--- a/src/compiler/scala/tools/nsc/typechecker/Namers.scala
+++ b/src/compiler/scala/tools/nsc/typechecker/Namers.scala
@@ -1443,8 +1443,8 @@ trait Namers extends MethodSynthesis {
if (sym.isConstructor && sym.isAnyOverride)
fail(OverrideConstr)
- if (sym.isAbstractOverride && !sym.owner.isTrait)
- fail(AbstractOverride)
+ if (sym.isAbstractOverride && (!sym.owner.isTrait || sym.isType))
+ fail(AbstractOverride)
if (sym.isLazy && sym.hasFlag(PRESUPER))
fail(LazyAndEarlyInit)
if (sym.info.typeSymbol == FunctionClass(0) && sym.isValueParameter && sym.owner.isCaseClass)