feat(search_is_some): Fix when the closure spans multiple lines #15902
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Previously the program only fixed the code when the closure supplied to the method contained only 1 line. This patch removes the restriction.
The code already works. This patch only removes the extra check that causes the restriction. The test cases that can now be fixed are moved into the files containing tests cases that can be fixed.
The unnecessary check has survived in the code this way.
In Dec 2015, patch a6bd2d0, pull request Iterator suggestions #524. The lint was first added. The program did not support fixing code automatically yet. So the suggested fix was printed as a part of the diagnostic message. When the original code contained multiple lines, the suggested fix was omitted in order to keep the diagnostic message concise.
In May 2019, patch bd0b75f, pull request Fix #4033 search_is_some #4049. Logic was added to strip the reference in the closure when the suggested replacement method required it. Because the fix was still only printed when the code contained a single line, the new transformation was only done when the code contained a single line.
In Aug 2019, patch 945d4cf, pull request Dereference one less on search_is_some and make it auto-fixable #4454. The lint was updated to fix code automatically. Because the fixed code had only been printed in the diagnostic message for a single line, the fix was only added for a single line.
In Nov 2021, patch 092fe20, pull request Fix
any()
not taking reference insearch_is_some
lint #7463. The logic for transforming the closure was moved into another file. A comment was added saying that it was only good for a single line because it had only been used for a single line.changelog: [
search_is_some
] now fixes code spanning multiple lines