-
Notifications
You must be signed in to change notification settings - Fork 12.7k
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
Make some report and emit errors take DefIds instead of BodyIds #108945
Make some report and emit errors take DefIds instead of BodyIds #108945
Conversation
Some changes occurred in need_type_info.rs cc @lcnr |
This patches gives 3Fs, unsure why but it seems we are losing some inference info for diagnostics ...
|
215320e
to
0d1674e
Compare
0d1674e
to
2f480fa
Compare
2f480fa
to
5b99723
Compare
This should be ready now modulo that in |
You can rename @bors r+ rollup |
🌲 The tree is currently closed for pull requests below priority 100. This pull request will be tested once the tree is reopened. |
…cjgillot Remove `body_def_id` from `Inherited` We can just use the body id from the obligation cause. Follow-up to rust-lang#108945, only my commit is relevant. r? `@cjgillot` cc `@spastorino`
…iaskrgr Rollup of 9 pull requests Successful merges: - rust-lang#108879 (Unconstrained terms should account for infer vars being equated) - rust-lang#108936 (Rustdoc: don't hide anonymous reexport) - rust-lang#108940 (Add myself to compiler reviewers list) - rust-lang#108945 (Make some report and emit errors take DefIds instead of BodyIds) - rust-lang#108946 (Document the resulting values produced when using `From<bool>` on floats) - rust-lang#108956 (Make ptr::from_ref and ptr::from_mut in rust-lang#106116 const.) - rust-lang#108960 (Remove `body_def_id` from `Inherited`) - rust-lang#108963 (only call git on git checkouts during bootstrap) - rust-lang#108964 (Fix the docs for pointer method with_metadata_of) Failed merges: - rust-lang#108950 (Directly construct Inherited in typeck.) r? `@ghost` `@rustbot` modify labels: rollup
…r-errors Remove some direct calls to local_def_id_to_hir_id on diagnostics Was playing with `tests/ui/impl-trait/in-trait/default-body-with-rpit.rs` and was able to remove some ICEs. Still getting ... ``` error[E0277]: `impl Future<Output = Foo::{opaque#0}>` is not a future --> tests/ui/impl-trait/in-trait/default-body-with-rpit.rs:10:28 | 10 | async fn baz(&self) -> impl Debug { | ^^^^^^^^^^ `impl Future<Output = Foo::{opaque#0}>` is not a future | = help: the trait `Future` is not implemented for `impl Future<Output = Foo::{opaque#0}>` = note: impl Future<Output = Foo::{opaque#0}> must be a future or must implement `IntoFuture` to be awaited note: required by a bound in `Foo::{opaque#1}` --> tests/ui/impl-trait/in-trait/default-body-with-rpit.rs:10:28 | 10 | async fn baz(&self) -> impl Debug { | ^^^^^^^^^^ required by this bound in `Foo::{opaque#1}` error[E0277]: the size for values of type `impl Future<Output = Foo::{opaque#0}>` cannot be known at compilation time --> tests/ui/impl-trait/in-trait/default-body-with-rpit.rs:10:28 | 10 | async fn baz(&self) -> impl Debug { | ^^^^^^^^^^ doesn't have a size known at compile-time | = help: the trait `Sized` is not implemented for `impl Future<Output = Foo::{opaque#0}>` note: required by a bound in `Foo::{opaque#1}` --> tests/ui/impl-trait/in-trait/default-body-with-rpit.rs:10:28 | 10 | async fn baz(&self) -> impl Debug { | ^^^^^^^^^^ required by this bound in `Foo::{opaque#1}` error: internal compiler error: compiler/rustc_hir_typeck/src/closure.rs:724:18: async fn generator return type not an inference variable: Foo::{opaque#1}<'_> --> tests/ui/impl-trait/in-trait/default-body-with-rpit.rs:10:39 | 10 | async fn baz(&self) -> impl Debug { | _______________________________________^ 11 | | "" 12 | | } | |_____^ ``` But I guess this is a little bit of progress anyway. This one goes on top of rust-lang#108700 and rust-lang#108945 r? `@compiler-errors`
Breaking off from #108915
r? @compiler-errors