In the following code, renaming the variable within the Child contract at line let copyInChild = variable renames all variable instances correctly, this is because all variable definitions in all super-types are within its scope. But renaming variable in Parent or any other super-type only renames variables that are within its local scope and its parent scope, which skips renaming references in subtypes.
Expected: Renaming the variable anywhere should rename all of its occurrences (parents and children), even if it's executed within the top super-type GreatGrandParent.
This issue is for PR #314 (not merged).
In the following code, renaming the
variable
within theChild
contract at linelet copyInChild = variable
renames all variable instances correctly, this is because allvariable
definitions in all super-types are within its scope. But renamingvariable
inParent
or any other super-type only renamesvariable
s that are within its local scope and its parent scope, which skips renaming references in subtypes.Expected: Renaming the
variable
anywhere should rename all of its occurrences (parents and children), even if it's executed within the top super-typeGreatGrandParent
.