diff options
author | Martin Odersky <odersky@gmail.com> | 2014-09-21 14:40:41 +0200 |
---|---|---|
committer | Dmitry Petrashko <dmitry.petrashko@gmail.com> | 2014-10-11 08:24:36 +0200 |
commit | ce81244e6c4fc7b5b8ccc70ad32290045a591739 (patch) | |
tree | 8f62951a0e1e07963a33d1a199e74e2de3f1a83f /src/dotty/tools | |
parent | d9a911c43bbedcae8a787eafb91bb6889a8ff461 (diff) | |
download | dotty-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.scala | 5 |
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 |