From d9ad04a0f0feb96bc903a00a9ba79d979728edcd Mon Sep 17 00:00:00 2001 From: Denys Otrishko Date: Wed, 17 Jul 2019 09:55:15 +0300 Subject: rustc_typeck: extract common placeholder type diagnostic code --- src/librustc_typeck/collect.rs | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) (limited to 'src') diff --git a/src/librustc_typeck/collect.rs b/src/librustc_typeck/collect.rs index 5420a2407e6..7b24d515737 100644 --- a/src/librustc_typeck/collect.rs +++ b/src/librustc_typeck/collect.rs @@ -160,6 +160,16 @@ impl Visitor<'tcx> for CollectItemTypesVisitor<'tcx> { /////////////////////////////////////////////////////////////////////////// // Utility types and common code for the above passes. +fn bad_placeholder_type(tcx: TyCtxt<'tcx>, span: Span) -> errors::DiagnosticBuilder<'tcx> { + let mut diag = tcx.sess.struct_span_err_with_code( + span, + "the type placeholder `_` is not allowed within types on item signatures", + DiagnosticId::Error("E0121".into()), + ); + diag.span_label(span, "not allowed in type signatures"); + diag +} + impl ItemCtxt<'tcx> { pub fn new(tcx: TyCtxt<'tcx>, item_def_id: DefId) -> ItemCtxt<'tcx> { ItemCtxt { tcx, item_def_id } @@ -191,12 +201,7 @@ impl AstConv<'tcx> for ItemCtxt<'tcx> { } fn ty_infer(&self, _: Option<&ty::GenericParamDef>, span: Span) -> Ty<'tcx> { - self.tcx().sess.struct_span_err_with_code( - span, - "the type placeholder `_` is not allowed within types on item signatures", - DiagnosticId::Error("E0121".into()), - ).span_label(span, "not allowed in type signatures") - .emit(); + bad_placeholder_type(self.tcx(), span).emit(); self.tcx().types.err } @@ -207,12 +212,7 @@ impl AstConv<'tcx> for ItemCtxt<'tcx> { _: Option<&ty::GenericParamDef>, span: Span, ) -> &'tcx Const<'tcx> { - self.tcx().sess.struct_span_err_with_code( - span, - "the const placeholder `_` is not allowed within types on item signatures", - DiagnosticId::Error("E0121".into()), - ).span_label(span, "not allowed in type signatures") - .emit(); + bad_placeholder_type(self.tcx(), span).emit(); self.tcx().consts.err } -- cgit 1.4.1-3-g733a5