Skip to content

Commit 405e48f

Browse files
authored
Rollup merge of #101936 - IntQuant:issue-100717-infer-4, r=compiler-errors
Migrating rustc_infer to session diagnostics (part 3) ``@rustbot`` label +A-translation r? rust-lang/diagnostics cc #100717 Seems like a part of static_impl_trait.rs emits suggestions in a loop, and note.rs needs to have two instances of the same subdiagnostic, so these will need to wait until we have eager translation/list support. Other than that, there is only error_reporting/mod.rs left to migrate.
2 parents b1691f6 + 0c50e1f commit 405e48f

File tree

7 files changed

+810
-326
lines changed

7 files changed

+810
-326
lines changed

compiler/rustc_error_messages/locales/en-US/infer.ftl

+139
Original file line numberDiff line numberDiff line change
@@ -172,3 +172,142 @@ infer_msl_unmet_req = because this has an unmet lifetime requirement
172172
infer_msl_trait_note = this has an implicit `'static` lifetime requirement
173173
infer_msl_trait_sugg = consider relaxing the implicit `'static` requirement
174174
infer_suggest_add_let_for_letchains = consider adding `let`
175+
176+
infer_explicit_lifetime_required_with_ident = explicit lifetime required in the type of `{$simple_ident}`
177+
.label = lifetime `{$named}` required
178+
179+
infer_explicit_lifetime_required_with_param_type = explicit lifetime required in parameter type
180+
.label = lifetime `{$named}` required
181+
182+
infer_explicit_lifetime_required_sugg_with_ident = add explicit lifetime `{$named}` to the type of `{$simple_ident}`
183+
184+
infer_explicit_lifetime_required_sugg_with_param_type = add explicit lifetime `{$named}` to type
185+
186+
infer_actual_impl_expl_expected_signature_two = {$leading_ellipsis ->
187+
[true] ...
188+
*[false] {""}
189+
}closure with signature `{$ty_or_sig}` must implement `{$trait_path}`, for any two lifetimes `'{$lifetime_1}` and `'{$lifetime_2}`...
190+
infer_actual_impl_expl_expected_signature_any = {$leading_ellipsis ->
191+
[true] ...
192+
*[false] {""}
193+
}closure with signature `{$ty_or_sig}` must implement `{$trait_path}`, for any lifetime `'{$lifetime_1}`...
194+
infer_actual_impl_expl_expected_signature_some = {$leading_ellipsis ->
195+
[true] ...
196+
*[false] {""}
197+
}closure with signature `{$ty_or_sig}` must implement `{$trait_path}`, for some specific lifetime `'{lifetime_1}`...
198+
infer_actual_impl_expl_expected_signature_nothing = {$leading_ellipsis ->
199+
[true] ...
200+
*[false] {""}
201+
}closure with signature `{$ty_or_sig}` must implement `{$trait_path}`
202+
infer_actual_impl_expl_expected_passive_two = {$leading_ellipsis ->
203+
[true] ...
204+
*[false] {""}
205+
}`{$trait_path}` would have to be implemented for the type `{$ty_or_sig}`, for any two lifetimes `'{$lifetime_1}` and `'{$lifetime_2}`...
206+
infer_actual_impl_expl_expected_passive_any = {$leading_ellipsis ->
207+
[true] ...
208+
*[false] {""}
209+
}`{$trait_path}` would have to be implemented for the type `{$ty_or_sig}`, for any lifetime `'{$lifetime_1}`...
210+
infer_actual_impl_expl_expected_passive_some = {$leading_ellipsis ->
211+
[true] ...
212+
*[false] {""}
213+
}`{$trait_path}` would have to be implemented for the type `{$ty_or_sig}`, for some specific lifetime `'{lifetime_1}`...
214+
infer_actual_impl_expl_expected_passive_nothing = {$leading_ellipsis ->
215+
[true] ...
216+
*[false] {""}
217+
}`{$trait_path}` would have to be implemented for the type `{$ty_or_sig}`
218+
infer_actual_impl_expl_expected_other_two = {$leading_ellipsis ->
219+
[true] ...
220+
*[false] {""}
221+
}`{$ty_or_sig}` must implement `{$trait_path}`, for any two lifetimes `'{$lifetime_1}` and `'{$lifetime_2}`...
222+
infer_actual_impl_expl_expected_other_any = {$leading_ellipsis ->
223+
[true] ...
224+
*[false] {""}
225+
}`{$ty_or_sig}` must implement `{$trait_path}`, for any lifetime `'{$lifetime_1}`...
226+
infer_actual_impl_expl_expected_other_some = {$leading_ellipsis ->
227+
[true] ...
228+
*[false] {""}
229+
}`{$ty_or_sig}` must implement `{$trait_path}`, for some specific lifetime `'{lifetime_1}`...
230+
infer_actual_impl_expl_expected_other_nothing = {$leading_ellipsis ->
231+
[true] ...
232+
*[false] {""}
233+
}`{$ty_or_sig}` must implement `{$trait_path}`
234+
235+
infer_actual_impl_expl_but_actually_implements_trait = ...but it actually implements `{$trait_path}`{$has_lifetime ->
236+
[true] , for some specific lifetime `'{$lifetime}`
237+
*[false] {""}
238+
}
239+
infer_actual_impl_expl_but_actually_implemented_for_ty = ...but `{$trait_path}` is actually implemented for the type `{$ty}`{$has_lifetime ->
240+
[true] , for some specific lifetime `'{$lifetime}`
241+
*[false] {""}
242+
}
243+
infer_actual_impl_expl_but_actually_ty_implements = ...but `{$ty}` actually implements `{$trait_path}`{$has_lifetime ->
244+
[true] , for some specific lifetime `'{$lifetime}`
245+
*[false] {""}
246+
}
247+
248+
infer_trait_placeholder_mismatch = implementation of `{$trait_def_id}` is not general enough
249+
.label_satisfy = doesn't satisfy where-clause
250+
.label_where = due to a where-clause on `{$def_id}`...
251+
.label_dup = implementation of `{$trait_def_id}` is not general enough
252+
253+
infer_trait_impl_diff = `impl` item signature doesn't match `trait` item signature
254+
.found = found `{$found}`
255+
.expected = expected `{$expected}`
256+
.expected_found = expected `{$expected}`
257+
{" "}found `{$found}`
258+
259+
infer_tid_rel_help = verify the lifetime relationships in the `trait` and `impl` between the `self` argument, the other inputs and its output
260+
infer_tid_consider_borrowing = consider borrowing this type parameter in the trait
261+
infer_tid_param_help = the lifetime requirements from the `impl` do not correspond to the requirements in the `trait`
262+
263+
infer_dtcs_has_lifetime_req_label = this has an implicit `'static` lifetime requirement
264+
infer_dtcs_introduces_requirement = calling this method introduces the `impl`'s 'static` requirement
265+
infer_dtcs_has_req_note = the used `impl` has a `'static` requirement
266+
infer_dtcs_suggestion = consider relaxing the implicit `'static` requirement
267+
268+
infer_but_calling_introduces = {$has_param_name ->
269+
[true] `{$param_name}`
270+
*[false] `fn` parameter
271+
} has {$lifetime_kind ->
272+
[named] lifetime `{lifetime}`
273+
*[anon] an anonymous lifetime `'_`
274+
} but calling `{assoc_item}` introduces an implicit `'static` lifetime requirement
275+
.label1 = {$has_lifetime ->
276+
[named] lifetime `{lifetime}`
277+
*[anon] an anonymous lifetime `'_`
278+
}
279+
.label2 = ...is used and required to live as long as `'static` here because of an implicit lifetime bound on the {$has_impl_path ->
280+
[named] `impl` of `{$impl_path}`
281+
*[anon] inherent `impl`
282+
}
283+
284+
infer_but_needs_to_satisfy = {$has_param_name ->
285+
[true] `{$param_name}`
286+
*[false] `fn` parameter
287+
} has {$has_lifetime ->
288+
[named] lifetime `{lifetime}`
289+
*[anon] an anonymous lifetime `'_`
290+
} but it needs to satisfy a `'static` lifetime requirement
291+
.influencer = this data with {$has_lifetime ->
292+
[named] lifetime `{lifetime}`
293+
*[anon] an anonymous lifetime `'_`
294+
}...
295+
.require = {$spans_empty ->
296+
*[true] ...is used and required to live as long as `'static` here
297+
[false] ...and is required to live as long as `'static` here
298+
}
299+
.used_here = ...is used here...
300+
.introduced_by_bound = 'static` lifetime requirement introduced by this bound
301+
302+
infer_more_targeted = {$has_param_name ->
303+
[true] `{$param_name}`
304+
*[false] `fn` parameter
305+
} has {$has_lifetime ->
306+
[named] lifetime `{lifetime}`
307+
*[anon] an anonymous lifetime `'_`
308+
} but calling `{$ident}` introduces an implicit `'static` lifetime requirement
309+
310+
infer_ril_introduced_here = `'static` requirement introduced here
311+
infer_ril_introduced_by = requirement introduced by this return type
312+
infer_ril_because_of = because of this returned expression
313+
infer_ril_static_introduced_by = "`'static` lifetime requirement introduced by the return type

0 commit comments

Comments
 (0)