From 696ac95304ecc2c7d20305fbfe104cc9c6bbdbb0 Mon Sep 17 00:00:00 2001 From: Lukas Kalbertodt Date: Sun, 10 Nov 2019 19:20:00 +0100 Subject: [PATCH] Fix error message about exported symbols from proc-macro crates Someone forgot to update the error message after `#[proc_macro]` and `#[proc_macro_attribute]` were stabilized. --- src/libsyntax_ext/proc_macro_harness.rs | 10 ++++++---- src/test/ui/proc-macro/exports.stderr | 8 ++++---- src/test/ui/proc-macro/pub-at-crate-root.rs | 2 +- src/test/ui/proc-macro/pub-at-crate-root.stderr | 2 +- 4 files changed, 12 insertions(+), 10 deletions(-) diff --git a/src/libsyntax_ext/proc_macro_harness.rs b/src/libsyntax_ext/proc_macro_harness.rs index 792c97d8508fe..fbded7dc130eb 100644 --- a/src/libsyntax_ext/proc_macro_harness.rs +++ b/src/libsyntax_ext/proc_macro_harness.rs @@ -92,10 +92,12 @@ pub fn inject(sess: &ParseSess, impl<'a> CollectProcMacros<'a> { fn check_not_pub_in_root(&self, vis: &ast::Visibility, sp: Span) { if self.is_proc_macro_crate && self.in_root && vis.node.is_pub() { - self.handler.span_err(sp, - "`proc-macro` crate types cannot \ - export any items other than functions \ - tagged with `#[proc_macro_derive]` currently"); + self.handler.span_err( + sp, + "`proc-macro` crate types currently cannot export any items other \ + than functions tagged with `#[proc_macro]`, `#[proc_macro_derive]`, \ + or `#[proc_macro_attribute]`", + ); } } diff --git a/src/test/ui/proc-macro/exports.stderr b/src/test/ui/proc-macro/exports.stderr index 2f81921358dfe..0ecbdf98dd31c 100644 --- a/src/test/ui/proc-macro/exports.stderr +++ b/src/test/ui/proc-macro/exports.stderr @@ -1,22 +1,22 @@ -error: `proc-macro` crate types cannot export any items other than functions tagged with `#[proc_macro_derive]` currently +error: `proc-macro` crate types currently cannot export any items other than functions tagged with `#[proc_macro]`, `#[proc_macro_derive]`, or `#[proc_macro_attribute]` --> $DIR/exports.rs:7:1 | LL | pub fn a() {} | ^^^^^^^^^^^^^ -error: `proc-macro` crate types cannot export any items other than functions tagged with `#[proc_macro_derive]` currently +error: `proc-macro` crate types currently cannot export any items other than functions tagged with `#[proc_macro]`, `#[proc_macro_derive]`, or `#[proc_macro_attribute]` --> $DIR/exports.rs:8:1 | LL | pub struct B; | ^^^^^^^^^^^^^ -error: `proc-macro` crate types cannot export any items other than functions tagged with `#[proc_macro_derive]` currently +error: `proc-macro` crate types currently cannot export any items other than functions tagged with `#[proc_macro]`, `#[proc_macro_derive]`, or `#[proc_macro_attribute]` --> $DIR/exports.rs:9:1 | LL | pub enum C {} | ^^^^^^^^^^^^^ -error: `proc-macro` crate types cannot export any items other than functions tagged with `#[proc_macro_derive]` currently +error: `proc-macro` crate types currently cannot export any items other than functions tagged with `#[proc_macro]`, `#[proc_macro_derive]`, or `#[proc_macro_attribute]` --> $DIR/exports.rs:10:1 | LL | pub mod d {} diff --git a/src/test/ui/proc-macro/pub-at-crate-root.rs b/src/test/ui/proc-macro/pub-at-crate-root.rs index 7544245ff6795..54cf333a45b13 100644 --- a/src/test/ui/proc-macro/pub-at-crate-root.rs +++ b/src/test/ui/proc-macro/pub-at-crate-root.rs @@ -5,7 +5,7 @@ extern crate proc_macro; -pub mod a { //~ `proc-macro` crate types cannot export any items +pub mod a { //~ `proc-macro` crate types currently cannot export any items use proc_macro::TokenStream; #[proc_macro_derive(B)] diff --git a/src/test/ui/proc-macro/pub-at-crate-root.stderr b/src/test/ui/proc-macro/pub-at-crate-root.stderr index 66fa499d33bb2..3b69b7875bde0 100644 --- a/src/test/ui/proc-macro/pub-at-crate-root.stderr +++ b/src/test/ui/proc-macro/pub-at-crate-root.stderr @@ -1,4 +1,4 @@ -error: `proc-macro` crate types cannot export any items other than functions tagged with `#[proc_macro_derive]` currently +error: `proc-macro` crate types currently cannot export any items other than functions tagged with `#[proc_macro]`, `#[proc_macro_derive]`, or `#[proc_macro_attribute]` --> $DIR/pub-at-crate-root.rs:8:1 | LL | / pub mod a {