From 5e17e3988165d3245e38af0b1c40cde47699f6a7 Mon Sep 17 00:00:00 2001 From: Oliver Scherer Date: Sun, 8 Dec 2019 01:43:10 +0100 Subject: Require stable/unstable annotations for the constness of all stable functions with a `const` modifier --- src/libsyntax_expand/base.rs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'src/libsyntax_expand') diff --git a/src/libsyntax_expand/base.rs b/src/libsyntax_expand/base.rs index a4449ca5b1d..c7dce93f91b 100644 --- a/src/libsyntax_expand/base.rs +++ b/src/libsyntax_expand/base.rs @@ -775,6 +775,10 @@ impl SyntaxExtension { } let is_builtin = attr::contains_name(attrs, sym::rustc_builtin_macro); + let (stability, const_stability) = attr::find_stability(&sess, attrs, span); + if const_stability.is_some() { + sess.span_diagnostic.span_err(span, "macros can't have const stability attributes"); + } SyntaxExtension { kind, @@ -782,7 +786,7 @@ impl SyntaxExtension { allow_internal_unstable, allow_internal_unsafe: attr::contains_name(attrs, sym::allow_internal_unsafe), local_inner_macros, - stability: attr::find_stability(&sess, attrs, span), + stability, deprecation: attr::find_deprecation(&sess, attrs, span), helper_attrs, edition, -- cgit 1.4.1-3-g733a5