-
Notifications
You must be signed in to change notification settings - Fork 12.9k
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
Add more information to impl Trait
error
#92806
Add more information to impl Trait
error
#92806
Conversation
Alternatively we can disambiguate #92458 by just adding that word "inherent", without adding these |
☔ The latest upstream changes (presumably #92007) made this pull request unmergeable. Please resolve the merge conflicts. |
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.
Couple of nitpicks, r=me after rebasing
"`impl Trait` not allowed outside of \ | ||
function and inherent method return types", | ||
); | ||
err.note(&format!("found `impl Trait` in {}", position)); |
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.
I'm concerned about "inherent" in this wording not being too clear. "associated functions" doesn't communicate the same meaning, sadly. Either way, I would likely change this to be
"`impl Trait` not allowed outside of \ | |
function and inherent method return types", | |
); | |
err.note(&format!("found `impl Trait` in {}", position)); | |
"`impl Trait` only allowed in function and inherent method return types, not in {}", position | |
); |
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { | ||
let name = match self { | ||
ImplTraitPosition::Path => "path", | ||
ImplTraitPosition::Variable => "variable", |
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.
ImplTraitPosition::Variable => "variable", | |
ImplTraitPosition::Variable => "variable binding", |
81916d6
to
207fb5f
Compare
Rebased and addressed comments, ready for r+ |
@rustbot ready |
@bors r+ |
📌 Commit 207fb5f has been approved by |
…askrgr Rollup of 10 pull requests Successful merges: - rust-lang#89892 (Suggest `impl Trait` return type when incorrectly using a generic return type) - rust-lang#91675 (Add MemTagSanitizer Support) - rust-lang#92806 (Add more information to `impl Trait` error) - rust-lang#93497 (Pass `--test` flag through rustdoc to rustc so `#[test]` functions can be scraped) - rust-lang#93814 (mips64-openwrt-linux-musl: correct soft-foat) - rust-lang#93847 (kmc-solid: Use the filesystem thread-safety wrapper) - rust-lang#93877 (asm: Allow the use of r8-r14 as clobbers on Thumb1) - rust-lang#93892 (Only mark projection as ambiguous if GAT substs are constrained) - rust-lang#93915 (Implement --check-cfg option (RFC 3013), take 2) - rust-lang#93953 (Add the `known-bug` test directive, use it, and do some cleanup) Failed merges: r? `@ghost` `@rustbot` modify labels: rollup
Fixes #92458
Let me know if I went overboard here, or if the suggestions could use some refinement.
r? @estebank
Feel free to reassign to someone else