From b01c1e2092b0d3c4e86aedf1e0875898fbde21e3 Mon Sep 17 00:00:00 2001 From: Mazdak Farrokhzad Date: Sun, 23 Feb 2020 06:04:37 +0100 Subject: parser: tweak item kind wording --- src/librustc_parse/parser/item.rs | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) (limited to 'src/librustc_parse/parser') diff --git a/src/librustc_parse/parser/item.rs b/src/librustc_parse/parser/item.rs index d2073a5473a..0e0017d4ee5 100644 --- a/src/librustc_parse/parser/item.rs +++ b/src/librustc_parse/parser/item.rs @@ -661,12 +661,7 @@ impl<'a> Parser<'a> { self.struct_span_err(span, "associated `static` items are not allowed").emit(); AssocItemKind::Const(a, b) } - _ => { - let span = self.sess.source_map().def_span(span); - self.struct_span_err(span, "item kind not supported in `trait` or `impl`") - .emit(); - return None; - } + _ => return self.error_bad_item_kind(span, &kind, "`trait` or `impl`"), }; Some(P(Item { attrs, id, span, vis, ident, defaultness, kind, tokens })) })) @@ -858,16 +853,19 @@ impl<'a> Parser<'a> { self.error_on_foreign_const(span, ident); ForeignItemKind::Static(a, Mutability::Not, b) } - _ => { - let span = self.sess.source_map().def_span(span); - self.struct_span_err(span, "item kind not supported in `extern` block").emit(); - return None; - } + _ => return self.error_bad_item_kind(span, &kind, "`extern` block"), }; Some(P(Item { attrs, id, span, vis, ident, defaultness, kind, tokens })) })) } + fn error_bad_item_kind(&self, span: Span, kind: &ItemKind, ctx: &str) -> Option { + let span = self.sess.source_map().def_span(span); + let msg = format!("{} not supported in {}", kind.descr(), ctx); + self.struct_span_err(span, &msg).emit(); + return None; + } + fn error_on_foreign_const(&self, span: Span, ident: Ident) { self.struct_span_err(ident.span, "extern items cannot be `const`") .span_suggestion( -- cgit 1.4.1-3-g733a5