-
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
suggest type annotation for local statement initialed by ref expression #102951
Conversation
r? @estebank (rust-highfive has picked a reviewer for you, use r? to override) |
let suggest_annotation = match expr.peel_drop_temps().kind { | ||
hir::ExprKind::AddrOf(hir::BorrowKind::Ref, hir::Mutability::Not, _) => "&", | ||
hir::ExprKind::AddrOf(hir::BorrowKind::Ref, hir::Mutability::Mut, _) => "&mut ", | ||
_ => return true, |
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.
This should return false, since we didn't actually suggest anything I think.
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.
The err.span_suggestion
statement above has made some modifications to err
, I guess that might be the reason why we should return true here as well?
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.
oh, didn't even see that. yeah, makes sense. 👍
☔ The latest upstream changes (presumably #103310) made this pull request unmergeable. Please resolve the merge conflicts. |
r=me after rebasing |
5cb42dd
to
0fca075
Compare
@estebank Done. But I don't have the privilege so it still needs you to r+ |
@bors r=estebank |
@SparrowLii: 🔑 Insufficient privileges: Not in reviewers |
@bors r=estebank |
…bank suggest type annotation for local statement initialed by ref expression In a local statement with a type declaration, if a ref expression is used on the right side and not used on the left side, in addition to removing the `&` and `&mut` on the right side, we can add them on the left side alternatively Fixes rust-lang#102892
…bank suggest type annotation for local statement initialed by ref expression In a local statement with a type declaration, if a ref expression is used on the right side and not used on the left side, in addition to removing the `&` and `&mut` on the right side, we can add them on the left side alternatively Fixes rust-lang#102892
Rollup of 10 pull requests Successful merges: - rust-lang#102951 (suggest type annotation for local statement initialed by ref expression) - rust-lang#103209 (Diagnostic derives: allow specifying multiple alternative suggestions) - rust-lang#103287 (Use a faster allocation size check in slice::from_raw_parts) - rust-lang#103416 (Name the `impl Trait` in region bound suggestions) - rust-lang#103430 (Workaround unstable stmt_expr_attributes for method receiver expressions) - rust-lang#103444 (Remove extra type error after missing semicolon error) - rust-lang#103520 (rustc_middle: Rearrange resolver outputs structures slightly) - rust-lang#103533 (Use &self instead of &mut self for cast methods) - rust-lang#103536 (Remove `rustc_driver::set_sigpipe_handler()`) - rust-lang#103542 (Pinning tests for some `macro_rules!` errors discussed in the lang meeting) Failed merges: r? `@ghost` `@rustbot` modify labels: rollup
600: Pull changes from upstream `master` r=kirtchev-adacore a=pietroalbini * rust-lang/rust#103605 * rust-lang/rust#103604 * rust-lang/rust#103598 * rust-lang/rust#103596 * rust-lang/rust#103580 * rust-lang/rust#103579 * rust-lang/rust#103567 * rust-lang/rust#103558 * rust-lang/rust#103549 * rust-lang/rust#103537 * rust-lang/rust#103526 * rust-lang/rust#103432 * rust-lang/rust#103571 * rust-lang/rust#103492 * rust-lang/rust#103572 * rust-lang/rust#103554 * rust-lang/rust#103546 * rust-lang/rust#103543 * rust-lang/rust#103428 * rust-lang/rust#102706 * rust-lang/rust#95710 * rust-lang/rust#103284 * rust-lang/rust#103562 * rust-lang/rust#103542 * rust-lang/rust#103536 * rust-lang/rust#103533 * rust-lang/rust#103520 * rust-lang/rust#103444 * rust-lang/rust#103430 * rust-lang/rust#103416 * rust-lang/rust#103287 * rust-lang/rust#103209 * rust-lang/rust#102951 * rust-lang/rust#103279 * rust-lang/rust#103158 Co-authored-by: Lukas Wirth <lukastw97@gmail.com> Co-authored-by: Pietro Albini <pietro.albini@ferrous-systems.com> Co-authored-by: DropDemBits <r3usrlnd@gmail.com> Co-authored-by: bors <bors@rust-lang.org> Co-authored-by: Pietro Albini <pietro@pietroalbini.org>
In a local statement with a type declaration, if a ref expression is used on the right side and not used on the left side, in addition to removing the
&
and&mut
on the right side, we can add them on the left side alternativelyFixes #102892