Shadowing state variables in derived contracts may be dangerous for critical variables such as contract owner (for e.g. where modifiers in base contracts check on base variables but shadowed variables are set mistakenly) and contracts incorrectly use base/shadowed variables. Do not shadow state variables. (see here)
- State Variables Shadowing
- Contracts: Base vs Derived
- Base Variables -> Shadowed Variables
- Wrong Variable Usage
- Dangerous/Unexpected