diff options
| author | Xiretza <xiretza@xiretza.xyz> | 2022-10-05 21:40:56 +0200 |
|---|---|---|
| committer | Xiretza <xiretza@xiretza.xyz> | 2023-02-01 21:49:45 +0100 |
| commit | fc0ba2c8b6c144a8bda60b8267fcbbdc8ed48084 (patch) | |
| tree | 9f0e1fa35cbf28c5edc4adacf260da1495616d6b /compiler/rustc_parse/src/parser/item.rs | |
| parent | 0e36e7cebe4db494478982f80db2f928f59802d6 (diff) | |
| download | rust-fc0ba2c8b6c144a8bda60b8267fcbbdc8ed48084.tar.gz rust-fc0ba2c8b6c144a8bda60b8267fcbbdc8ed48084.zip | |
Use AddToDiagnostic for "use latest edition" help
Diffstat (limited to 'compiler/rustc_parse/src/parser/item.rs')
| -rw-r--r-- | compiler/rustc_parse/src/parser/item.rs | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/compiler/rustc_parse/src/parser/item.rs b/compiler/rustc_parse/src/parser/item.rs index 4c918b283d7..d72c7d8cabc 100644 --- a/compiler/rustc_parse/src/parser/item.rs +++ b/compiler/rustc_parse/src/parser/item.rs @@ -16,7 +16,10 @@ use rustc_ast::{EnumDef, FieldDef, Generics, TraitRef, Ty, TyKind, Variant, Vari use rustc_ast::{FnHeader, ForeignItem, Path, PathSegment, Visibility, VisibilityKind}; use rustc_ast::{MacCall, MacDelimiter}; use rustc_ast_pretty::pprust; -use rustc_errors::{struct_span_err, Applicability, IntoDiagnostic, PResult, StashKey}; +use rustc_errors::{ + struct_span_err, AddToDiagnostic, Applicability, HelpUseLatestEdition, IntoDiagnostic, PResult, + StashKey, +}; use rustc_span::edition::Edition; use rustc_span::lev_distance::lev_distance; use rustc_span::source_map::{self, Span}; @@ -2445,10 +2448,12 @@ impl<'a> Parser<'a> { fn ban_async_in_2015(&self, span: Span) { if span.rust_2015() { let diag = self.diagnostic(); - struct_span_err!(diag, span, E0670, "`async fn` is not permitted in Rust 2015") - .span_label(span, "to use `async fn`, switch to Rust 2018 or later") - .help_use_latest_edition() - .emit(); + + let mut e = + struct_span_err!(diag, span, E0670, "`async fn` is not permitted in Rust 2015"); + e.span_label(span, "to use `async fn`, switch to Rust 2018 or later"); + HelpUseLatestEdition::new().add_to_diagnostic(&mut e); + e.emit(); } } |
