diff options
| author | Michael Goulet <michael@errs.io> | 2024-07-12 16:18:51 -0400 |
|---|---|---|
| committer | Michael Goulet <michael@errs.io> | 2024-07-17 10:52:13 -0400 |
| commit | 1d40d4c4f496ce26d2cbf268b2f415e1f3bd5616 (patch) | |
| tree | 3718158d1e2df3eb6c360ea8a1701cb083ade3d7 /compiler/rustc_infer/src/errors | |
| parent | 3de0a7c716daab58bdb6551b0d0af6a466486639 (diff) | |
| download | rust-1d40d4c4f496ce26d2cbf268b2f415e1f3bd5616.tar.gz rust-1d40d4c4f496ce26d2cbf268b2f415e1f3bd5616.zip | |
Fix precise capturing suggestion for hidden type when APITs are involved
Diffstat (limited to 'compiler/rustc_infer/src/errors')
| -rw-r--r-- | compiler/rustc_infer/src/errors/mod.rs | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/compiler/rustc_infer/src/errors/mod.rs b/compiler/rustc_infer/src/errors/mod.rs index f849a1a7322..2ce712e0bff 100644 --- a/compiler/rustc_infer/src/errors/mod.rs +++ b/compiler/rustc_infer/src/errors/mod.rs @@ -1609,3 +1609,25 @@ pub enum AddPreciseCapturing { post: &'static str, }, } + +pub struct AddPreciseCapturingAndParams { + pub suggs: Vec<(Span, String)>, + pub new_lifetime: Symbol, + pub apit_spans: Vec<Span>, +} + +impl Subdiagnostic for AddPreciseCapturingAndParams { + fn add_to_diag_with<G: EmissionGuarantee, F: SubdiagMessageOp<G>>( + self, + diag: &mut Diag<'_, G>, + _f: &F, + ) { + diag.arg("new_lifetime", self.new_lifetime); + diag.multipart_suggestion_verbose( + fluent::infer_precise_capturing_new_but_apit, + self.suggs, + Applicability::MaybeIncorrect, + ); + diag.span_note(self.apit_spans, fluent::infer_warn_removing_apit_params); + } +} |
