@@ -14,7 +14,7 @@ use rustc_errors::{Applicability, DiagnosticBuilder, ErrorGuaranteed, MultiSpan,
1414use rustc_lint_defs:: builtin:: PROC_MACRO_BACK_COMPAT ;
1515use rustc_lint_defs:: BuiltinLintDiagnostics ;
1616use rustc_parse:: { self , parser, MACRO_ARGUMENTS } ;
17- use rustc_session:: { parse:: ParseSess , Limit , Session } ;
17+ use rustc_session:: { parse:: ParseSess , Limit , Session , SessionDiagnostic } ;
1818use rustc_span:: def_id:: { CrateNum , DefId , LocalDefId } ;
1919use rustc_span:: edition:: Edition ;
2020use rustc_span:: hygiene:: { AstPass , ExpnData , ExpnKind , LocalExpnId } ;
@@ -1085,6 +1085,17 @@ impl<'a> ExtCtxt<'a> {
10851085 self . sess . parse_sess . span_diagnostic . struct_span_err ( sp, msg)
10861086 }
10871087
1088+ pub fn create_err (
1089+ & self ,
1090+ err : impl SessionDiagnostic < ' a > ,
1091+ ) -> DiagnosticBuilder < ' a , ErrorGuaranteed > {
1092+ self . sess . create_err ( err)
1093+ }
1094+
1095+ pub fn emit_err ( & self , err : impl SessionDiagnostic < ' a > ) -> ErrorGuaranteed {
1096+ self . sess . emit_err ( err)
1097+ }
1098+
10881099 /// Emit `msg` attached to `sp`, without immediately stopping
10891100 /// compilation.
10901101 ///
0 commit comments