-
-
Notifications
You must be signed in to change notification settings - Fork 806
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
feat: relax restrictions on internal function signatures #3573
feat: relax restrictions on internal function signatures #3573
Conversation
InterfaceT.from_ast already checks unique method ids, so the `validate_unique_method_ids` call in the `ModuleAnalyzer` constructor is redundant. TODO: add an explicit test for collision with a generated getter chainsec june 2023 review 5.22
Codecov Report
❗ Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the GitHub App Integration for your organization. Read more. @@ Coverage Diff @@
## master #3573 +/- ##
==========================================
- Coverage 89.13% 89.06% -0.07%
==========================================
Files 85 85
Lines 11365 11367 +2
Branches 2585 2583 -2
==========================================
- Hits 10130 10124 -6
- Misses 813 821 +8
Partials 422 422
... and 9 files with indirect coverage changes 📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more |
relax the restriction on unique "method ids" for internal methods. the check used to be there to avoid collisions between external method ids and internal "method ids" because the calling convention for internal functions used to involve the method id as part of the signature, but that is no longer the case. so we can safely allow collision between internal "method ids" and external method ids. cf. issue vyperlang#1687 which was resolved in in 9e8c661. chainsec june 2023 review 5.22
InterfaceT.from_ast already checks unique method ids, so the
validate_unique_method_ids
call in theModuleAnalyzer
constructor is redundant. the check used to be there to avoid collisions between external method ids and internal "method ids" because the calling convention for internal functions used to involve the method id as part of the signature, but that is no longer the case. so we can safely allow collision between internal "method ids" and external method ids.chainsec june 2023 review 5.22
cf. #1687, resolved in #1800
What I did
How I did it
How to verify it
Commit message
Commit message for the final, squashed PR. (Optional, but reviewers will appreciate it! Please see our commit message style guide for what we would ideally like to see in a commit message.)
Description for the changelog
Cute Animal Picture