-
Notifications
You must be signed in to change notification settings - Fork 2.1k
fix(lint): exclude disabled ids in multi-lint passes #11122
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
Conversation
doesn't this happen because we create 2 "Imports" passes? it looks like passes with more than 1 lint will appear multiple times in the create function |
@DaniPopes i think that the issue emerged because a pass with several lints would emit all lints, and my commit fixes it. However, what you point out is true... i totally overlooked that when flattening the vec in the macro i'd be creating duplicated passes. should i change the fn sigs and the macro so that they return: pub fn create_early_lint_passes<'ast>() -> Vec<(Box<dyn EarlyLintPass<'ast>>, Vec<SolLint>)>
pub fn create_late_lint_passes<'hir>() -> Vec<(Box<dyn LateLintPass<'hir>>, Vec<SolLint>)> alternatively, i could force each pass to be limited to one lint. imo, despite creating an unnecessary heap allocation for each 1pass:1lint, the performance benefits of running multiple lints in one pass could still be worth it. what do u recommend doing though? |
Passes should have multiple lints, if their logic is very similar just slightly different conditions and messages then you can batch most of the work You can return |
…y into rusowsky/fix-only-lint
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm, tests should be fixed when #11174 approved and merged
* fix(cast): use all providers if local artifacts used (#11090) * fix(cast): use all providers if local artifacts used * Fix * fix(cast): improve handling of `mktx --raw-unsigned` with runtime validation (#11111) * fix(mktx): improve handling of `--raw-unsigned` with runtime validation - Updated the logic for handling the `--from` argument in the `run` function. - Added validation for required `nonce` parameter when `--from` is not provided, ensuring necessary transaction details are specified. - Used `Address::ZERO` as a placeholder when there is no need to query provider - unit tests * fix: fmt * fix(`anvil`): unwrap panic in `eth/backend/mem/mod.rs` (#11141) make typed request casting not panic and return useful error to user * fix(forge): consistent handling unresolved imports (#11164) * fix(forge): consistent handling unresolved imports * Add test * fix(lint): exclude disabled ids in multi-lint passes (#11122) * fix: use empty 7702 auths (#11182) * fix(forge): bump compilers to fix remapping sol file (#11184) * Bump compilers 0.18.2 * Add test * fix(coverage): disambiguate duplicate function names (#11188) * fix(forge): set state changes journal in active fork (#11196) * chore(ci): fix `typos` CI job failing (#11198) fix typos * Bump version 1.3.1 (#11199) * fix(forge): improve error messages for etherscan verification failures (#11194) * fix(forge): improve error messages for etherscan verification failures * fix: cargo clippy * tests(forge): add tests for unknown chain id * fix: err formating for EtherscanConfigError --------- Co-authored-by: zerosnacks <[email protected]> * chore(tests): bump forge-std version (#11174) * chore: bump forge-std version used for tests * Fixes --------- Co-authored-by: DaniPopes <[email protected]> Co-authored-by: grandizzy <[email protected]> --------- Co-authored-by: Mablr <[email protected]> Co-authored-by: zerosnacks <[email protected]> Co-authored-by: 0xrusowsky <[email protected]> Co-authored-by: Matthias Seitz <[email protected]> Co-authored-by: DaniPopes <[email protected]> Co-authored-by: Shiyas Mohammed <[email protected]> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: DaniPopes <[email protected]>
ref: #11080