add external macro checks to iter_without_into_iter
and into_iter_without_iter
#12054
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.
Fixes #12037
I think it's useful to still lint on local macros, since the user should still be able to add another impl with the
IntoIterator
oriter
method. I think it's also fairly common to write a macro for generating many impls (e.g. for many similar types), so it'd be nice if we can continue linting in those cases.For that reason I went with
in_external_macro
.I also added a test for
#[allow]
ing the lint while I was at it.changelog: [
iter_without_into_iter
]: don't lint if theiter
method is defined in an external macrochangelog: [
into_iter_without_iter
]: don't lint if theIntoIterator
impl is defined in an external macro