aboutsummaryrefslogtreecommitdiff
path: root/src/dotty/tools
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2014-09-21 14:40:41 +0200
committerDmitry Petrashko <dmitry.petrashko@gmail.com>2014-10-11 08:24:36 +0200
commitce81244e6c4fc7b5b8ccc70ad32290045a591739 (patch)
tree8f62951a0e1e07963a33d1a199e74e2de3f1a83f /src/dotty/tools
parentd9a911c43bbedcae8a787eafb91bb6889a8ff461 (diff)
downloaddotty-ce81244e6c4fc7b5b8ccc70ad32290045a591739.tar.gz
dotty-ce81244e6c4fc7b5b8ccc70ad32290045a591739.tar.bz2
dotty-ce81244e6c4fc7b5b8ccc70ad32290045a591739.zip
Fix handling of type params in secondary constructors
Params are already added by Desugar. No special treatment needed here. Besides primaryConstructor.typeParams is always empty, because term symbols do not have type parameters. The fix turns t2660.scala into an error. I believe the error is correct, hence the test was moved with a comment to neg.
Diffstat (limited to 'src/dotty/tools')
-rw-r--r--src/dotty/tools/dotc/typer/Namer.scala5
1 files changed, 1 insertions, 4 deletions
diff --git a/src/dotty/tools/dotc/typer/Namer.scala b/src/dotty/tools/dotc/typer/Namer.scala
index 5ceab475e..3a1f0a98b 100644
--- a/src/dotty/tools/dotc/typer/Namer.scala
+++ b/src/dotty/tools/dotc/typer/Namer.scala
@@ -632,10 +632,7 @@ class Namer { typer: Typer =>
completeParams(tparams)
vparamss foreach completeParams
val isConstructor = name == nme.CONSTRUCTOR
- val isSecondaryConstructor = isConstructor && sym != sym.owner.primaryConstructor
- def typeParams =
- if (isSecondaryConstructor) sym.owner.primaryConstructor.typeParams
- else tparams map symbolOfTree
+ def typeParams = tparams map symbolOfTree
def wrapMethType(restpe: Type): Type = {
var paramSymss = vparamss.nestedMap(symbolOfTree)
// Make sure constructor has one non-implicit parameter list