Skip to content

Commit 7cdc897

Browse files
committed
only try to suggest for try trait_ref
1 parent 47cc221 commit 7cdc897

File tree

3 files changed

+8
-1
lines changed

3 files changed

+8
-1
lines changed

src/libcore/ops/try.rs

+1
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
)
2626
)]
2727
#[doc(alias = "?")]
28+
#[cfg_attr(not(bootstrap), lang = "try")]
2829
pub trait Try {
2930
/// The type of this value when viewed as successful.
3031
#[unstable(feature = "try_trait", issue = "42327")]

src/librustc_hir/lang_items.rs

+2
Original file line numberDiff line numberDiff line change
@@ -256,4 +256,6 @@ language_item_table! {
256256
AlignOffsetLangItem, "align_offset", align_offset_fn, Target::Fn;
257257

258258
TerminationTraitLangItem, "termination", termination, Target::Trait;
259+
260+
TryTraitLangItem, "try", try_trait, Target::Trait;
259261
}

src/librustc_trait_selection/traits/error_reporting/mod.rs

+5-1
Original file line numberDiff line numberDiff line change
@@ -402,7 +402,11 @@ impl<'a, 'tcx> InferCtxtExt<'tcx> for InferCtxt<'a, 'tcx> {
402402
self.suggest_remove_reference(&obligation, &mut err, &trait_ref);
403403
self.suggest_semicolon_removal(&obligation, &mut err, span, &trait_ref);
404404
self.note_version_mismatch(&mut err, &trait_ref);
405-
self.suggest_await_before_try(&mut err, &obligation, &trait_ref, span);
405+
406+
if Some(trait_ref.def_id()) == tcx.lang_items().try_trait() {
407+
self.suggest_await_before_try(&mut err, &obligation, &trait_ref, span);
408+
}
409+
406410
if self.suggest_impl_trait(&mut err, span, &obligation, &trait_ref) {
407411
err.emit();
408412
return;

0 commit comments

Comments
 (0)