Skip to content

Conversation

@ebroto
Copy link
Contributor

@ebroto ebroto commented Sep 28, 2020

This fixes two cases related to macros:

  • If the parameter comes from expansion, do not lint as the user has no possibility of changing it. This is not directly related to the fixed issue, but we should probably do that.
  • If only the lifetime name comes from expansion, lint, but allow the user decide the name of the lifetime. In the related issue, the lifetime was unnamed and then renamed by async_trait, so just removing the name in the suggestion would work, but in the general case a macro can rename a lifetime that was named differently, and we can't reliably know that name anymore.

As a hint for the reviewer, the expanded code for the test can be checked with this command (from the root dir of the repo):

rustc -L target/debug/test_build_base/needless_arbitrary_self_type_unfixable.stage-id.aux -Zunpretty=expanded tests/ui/needless_arbitrary_self_type_unfixable.rs

changelog: [needless_arbitrary_self_type]: handle macros

Fixes #6089

@rust-highfive
Copy link

r? @Manishearth

(rust_highfive has picked a reviewer for you, use r? to override)

@rust-highfive rust-highfive added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties label Sep 28, 2020
@Manishearth
Copy link
Member

@bors r+

@bors
Copy link
Contributor

bors commented Sep 28, 2020

📌 Commit 101e76f has been approved by Manishearth

bors added a commit that referenced this pull request Sep 28, 2020
needless arbitrary self: handle macros

This fixes two cases related to macros:

* If the parameter comes from expansion, do not lint as the user has no possibility of changing it. This is not directly related to the fixed issue, but we should probably do that.
* If *only* the lifetime name comes from expansion, lint, but allow the user decide the name of the lifetime. In the related issue, the lifetime was unnamed and then renamed by `async_trait`, so just removing the name in the suggestion would work, but in the general case a macro can rename a lifetime that was named differently, and we can't reliably know that name anymore.

As a hint for the reviewer, the expanded code for the test can be checked with this command (from the root dir of the repo):
```sh
rustc -L target/debug/test_build_base/needless_arbitrary_self_type_unfixable.stage-id.aux -Zunpretty=expanded tests/ui/needless_arbitrary_self_type_unfixable.rs
```

changelog: [`needless_arbitrary_self_type`]: handle macros

Fixes #6089
@bors
Copy link
Contributor

bors commented Sep 28, 2020

⌛ Testing commit 101e76f with merge 3f5438c...

@bors
Copy link
Contributor

bors commented Sep 28, 2020

💔 Test failed - checks-action_test

@ebroto
Copy link
Contributor Author

ebroto commented Sep 29, 2020

@bors retry

@bors
Copy link
Contributor

bors commented Sep 29, 2020

⌛ Testing commit 101e76f with merge 99483be...

@bors
Copy link
Contributor

bors commented Sep 29, 2020

☀️ Test successful - checks-action_dev_test, checks-action_remark_test, checks-action_test
Approved by: Manishearth
Pushing 99483be to master...

@bors bors merged commit 99483be into rust-lang:master Sep 29, 2020
@ebroto ebroto deleted the 6089_renamed_lifetimes branch September 29, 2020 11:43
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.

Clippy doesn't know how to fix arbitrary_self_type in some async functions

4 participants