diff options
| author | Rémy Rakic <remy.rakic+github@gmail.com> | 2024-11-21 16:59:40 +0000 |
|---|---|---|
| committer | Rémy Rakic <remy.rakic+github@gmail.com> | 2024-11-21 17:09:51 +0000 |
| commit | 764e3e264f69d8af9fa42d86ea36702584dcb36b (patch) | |
| tree | 44ab6324e774b217edccf9297cb5d4b015439995 /compiler/rustc_trait_selection/src | |
| parent | 91486607e3f89180f33c4b613a955eb293400571 (diff) | |
| download | rust-764e3e264f69d8af9fa42d86ea36702584dcb36b.tar.gz rust-764e3e264f69d8af9fa42d86ea36702584dcb36b.zip | |
Revert "Remove less relevant info from diagnostic"
This reverts commit 8a568d9f15453cbfe5d6f45fa5f5bb32e58b93ed.
Diffstat (limited to 'compiler/rustc_trait_selection/src')
| -rw-r--r-- | compiler/rustc_trait_selection/src/error_reporting/traits/fulfillment_errors.rs | 18 |
1 files changed, 0 insertions, 18 deletions
diff --git a/compiler/rustc_trait_selection/src/error_reporting/traits/fulfillment_errors.rs b/compiler/rustc_trait_selection/src/error_reporting/traits/fulfillment_errors.rs index 4e7d7b79ff4..a80f42d38f6 100644 --- a/compiler/rustc_trait_selection/src/error_reporting/traits/fulfillment_errors.rs +++ b/compiler/rustc_trait_selection/src/error_reporting/traits/fulfillment_errors.rs @@ -1804,24 +1804,6 @@ impl<'a, 'tcx> TypeErrCtxt<'a, 'tcx> { StringPart::highlighted("cargo tree".to_string()), StringPart::normal("` to explore your dependency tree".to_string()), ]); - - // FIXME: this is a giant hack for the benefit of this specific diagnostic. Because - // we're so nested in method calls before the error gets emitted, bubbling a single bit - // flag informing the top level caller to stop adding extra detail to the diagnostic, - // would actually be harder to follow. So we do something naughty here: we consume the - // diagnostic, emit it and leave in its place a "delayed bug" that will continue being - // modified but won't actually be printed to end users. This *is not ideal*, but allows - // us to reduce the verbosity of an error that is already quite verbose and increase its - // specificity. Below we modify the main message as well, in a way that *could* break if - // the implementation of Diagnostics change significantly, but that would be caught with - // a make test failure when this diagnostic is tested. - err.primary_message(format!( - "{} because the trait comes from a different crate version", - err.messages[0].0.as_str().unwrap(), - )); - let diag = err.clone(); - err.downgrade_to_delayed_bug(); - self.tcx.dcx().emit_diagnostic(diag); return true; } |
