Skip to content

Conversation

qmwrygdxpzc
Copy link

@qmwrygdxpzc qmwrygdxpzc commented Oct 16, 2025

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 in search_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

@rustbot rustbot added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties label Oct 16, 2025
@rustbot
Copy link
Collaborator

rustbot commented Oct 16, 2025

r? @Jarcho

rustbot has assigned @Jarcho.
They will have a look at your PR within the next two weeks and either review your PR or reassign to another reviewer.

Use r? to explicitly pick a reviewer

@rustbot

This comment has been minimized.

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 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 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 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 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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

S-waiting-on-review Status: Awaiting review from the assignee but also interested parties

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants