-
Notifications
You must be signed in to change notification settings - Fork 13.3k
Better error message for _
in function signature in impl Trait for Ty
#95395
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
Better error message for _
in function signature in impl Trait for Ty
#95395
Conversation
r? @wesleywiser (rust-highfive has picked a reviewer for you, use r? to override) |
_
in function signature in impl Trait for Ty
r? rust-lang/compiler |
r? rust-lang/diagnostics |
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.
Just some nits. r=me with those resolved
3723812
to
319fbe3
Compare
rebased and comments addressed. @bors r=oli-obk |
📌 Commit 319fbe3 has been approved by |
…askrgr Rollup of 6 pull requests Successful merges: - rust-lang#95395 (Better error message for `_` in function signature in `impl Trait for Ty`) - rust-lang#96090 (Implement MIR opt unit tests) - rust-lang#96107 ([test] Add test cases for untested functions for VecDeque) - rust-lang#96212 (Use revisions instead of nll compare mode for `/regions/` ui tests) - rust-lang#96215 (Drop support for legacy PM with LLVM 15) - rust-lang#96366 (bootstrap: Remove dead code in rustdoc shim) Failed merges: r? `@ghost` `@rustbot` modify labels: rollup
Thanks, @compiler-errors ! This looks great; I'm excited to try it. |
…bank Fix erased region escaping into wfcheck due to rust-lang#95395 We can just use `liberate_late_bound_regions` instead of `erase_late_bound_regions`... This gives us `ReEarlyBound` instead of `ReErased`, the former being something typeck actually knows how to deal with... Fixes rust-lang#96381 Side-note: We only actually get far enough in the compiler pipeline to cause this ICE when we're invoking rustdoc. We actually abort rustc right before wfcheck because of the error that we emit (having `_` in the type signature). Why does rustdoc keep going even though we raise an error?
…bank Fix erased region escaping into wfcheck due to rust-lang#95395 We can just use `liberate_late_bound_regions` instead of `erase_late_bound_regions`... This gives us `ReEarlyBound` instead of `ReErased`, the former being something typeck actually knows how to deal with... Fixes rust-lang#96381 Side-note: We only actually get far enough in the compiler pipeline to cause this ICE when we're invoking rustdoc. We actually abort rustc right before wfcheck because of the error that we emit (having `_` in the type signature). Why does rustdoc keep going even though we raise an error?
…bank Fix erased region escaping into wfcheck due to rust-lang#95395 We can just use `liberate_late_bound_regions` instead of `erase_late_bound_regions`... This gives us `ReEarlyBound` instead of `ReErased`, the former being something typeck actually knows how to deal with... Fixes rust-lang#96381 Side-note: We only actually get far enough in the compiler pipeline to cause this ICE when we're invoking rustdoc. We actually abort rustc right before wfcheck because of the error that we emit (having `_` in the type signature). Why does rustdoc keep going even though we raise an error?
Rollup of 6 pull requests Successful merges: - rust-lang#92569 (Improve Error Messaging for Unconstructed Structs and Enum Variants in Generic Contexts) - rust-lang#96370 (Cleanup `report_method_error` a bit) - rust-lang#96383 (Fix erased region escaping into wfcheck due to rust-lang#95395) - rust-lang#96385 (Recover most `impl Trait` and `dyn Trait` lifetime bound suggestions under NLL) - rust-lang#96410 (rustdoc: do not write `{{root}}` in `pub use ::foo` docs) - rust-lang#96430 (Fix handling of `!` in rustdoc search) Failed merges: r? `@ghost` `@rustbot` modify labels: rollup
Provides a replacement suggestion for when
_
is present in the function signature forimpl Trait for Ty
, using the substitutions from the trait to compute the exact type.Fixes #95097