-
Notifications
You must be signed in to change notification settings - Fork 21
invalid change of parameter name for cloned symbol in build manager #3140
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Imported From: https://issues.scala-lang.org/browse/SI-3140?orig=1 |
@hubertp said: |
@lrytz said: Lukas |
@hubertp said: |
@lrytz said:
Note: Given an vparamss map (_.map(_.symbol)) and tree.tpe.paramss are the same or have the same names. The same is true for type parameters, there it's actually implemented more systematically (using the infamous "skolems"). |
I've already spent some time on this ticket, but I am creating it so that it doesn't get forgotten.
Code
detects (wrongly) a change in definition of method foo (parents$$1 changed to parents). For some reason a cloned symbol of trait As$$A gets changed when we try to compile again with RefinedBuildManager even without making any changes to the source class.
In this case the for loop is the source of anonymous class and since parents is used in the body of for, therefore it gets renamed to parents$$1 in lambdalift, but the point is that this shouldn't affect the symbol that is cloned at the end of build manager process.
This is a reduced example of what I believe is happening for Types trait in symtab package. It causes (a very annoying) excessive compilation.
The text was updated successfully, but these errors were encountered: