diff options
| author | bors <bors@rust-lang.org> | 2018-07-12 12:50:13 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2018-07-12 12:50:13 +0000 |
| commit | 7db82ccd765cbfe55c3d8a2c434bc6f9b986843d (patch) | |
| tree | 41bda55edea65f5ef3f02b198ce2984b97e666e2 /src/test | |
| parent | d334027c58060449cc45b8e5cc37dd51ca077d30 (diff) | |
| parent | a7c2c68b135b40666bda030315007c29ce197901 (diff) | |
Auto merge of #52303 - kennytm:rollup, r=kennytm
Rollup of 9 pull requests Successful merges: - #51816 (bootstrap: write texts to a .tmp file first for atomicity) - #51912 (impl Clone for Box<CStr>, Box<OsStr>, Box<Path>) - #52164 (use proper footnote syntax for references) - #52220 (Deny bare trait objects in `src/bootstrap`) - #52276 (rustc: Verify #[proc_macro] is only a word) - #52277 (Uncapitalize "If") - #52287 (Deny bare trait objects in src/librustc_resolve) - #52295 (Deny bare trait objects in src/libsyntax_ext) - #52298 (make reference to dirs crate clickable in terminals) Failed merges: r? @ghost
Diffstat (limited to 'src/test')
| -rw-r--r-- | src/test/ui-fulldeps/proc-macro/invalid-attributes.rs | 36 | ||||
| -rw-r--r-- | src/test/ui-fulldeps/proc-macro/invalid-attributes.stderr | 38 |
2 files changed, 74 insertions, 0 deletions
diff --git a/src/test/ui-fulldeps/proc-macro/invalid-attributes.rs b/src/test/ui-fulldeps/proc-macro/invalid-attributes.rs new file mode 100644 index 00000000000..c06f98ed5ff --- /dev/null +++ b/src/test/ui-fulldeps/proc-macro/invalid-attributes.rs @@ -0,0 +1,36 @@ +// Copyright 2018 The Rust Project Developers. See the COPYRIGHT +// file at the top-level directory of this distribution and at +// http://rust-lang.org/COPYRIGHT. +// +// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or +// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license +// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your +// option. This file may not be copied, modified, or distributed +// except according to those terms. + +// no-prefer-dynamic + +#![crate_type = "proc-macro"] +#![feature(proc_macro)] + +extern crate proc_macro; + +use proc_macro::TokenStream; + +#[proc_macro = "test"] //~ ERROR: does not take any arguments +pub fn a(a: TokenStream) -> TokenStream { a } + +#[proc_macro()] //~ ERROR: does not take any arguments +pub fn c(a: TokenStream) -> TokenStream { a } + +#[proc_macro(x)] //~ ERROR: does not take any arguments +pub fn d(a: TokenStream) -> TokenStream { a } + +#[proc_macro_attribute = "test"] //~ ERROR: does not take any arguments +pub fn e(_: TokenStream, a: TokenStream) -> TokenStream { a } + +#[proc_macro_attribute()] //~ ERROR: does not take any arguments +pub fn g(_: TokenStream, a: TokenStream) -> TokenStream { a } + +#[proc_macro_attribute(x)] //~ ERROR: does not take any arguments +pub fn h(_: TokenStream, a: TokenStream) -> TokenStream { a } diff --git a/src/test/ui-fulldeps/proc-macro/invalid-attributes.stderr b/src/test/ui-fulldeps/proc-macro/invalid-attributes.stderr new file mode 100644 index 00000000000..c480bcb5df9 --- /dev/null +++ b/src/test/ui-fulldeps/proc-macro/invalid-attributes.stderr @@ -0,0 +1,38 @@ +error: `#[proc_macro]` attribute does not take any arguments + --> $DIR/invalid-attributes.rs:20:1 + | +LL | #[proc_macro = "test"] //~ ERROR: does not take any arguments + | ^^^^^^^^^^^^^^^^^^^^^^ + +error: `#[proc_macro]` attribute does not take any arguments + --> $DIR/invalid-attributes.rs:23:1 + | +LL | #[proc_macro()] //~ ERROR: does not take any arguments + | ^^^^^^^^^^^^^^^ + +error: `#[proc_macro]` attribute does not take any arguments + --> $DIR/invalid-attributes.rs:26:1 + | +LL | #[proc_macro(x)] //~ ERROR: does not take any arguments + | ^^^^^^^^^^^^^^^^ + +error: `#[proc_macro_attribute]` attribute does not take any arguments + --> $DIR/invalid-attributes.rs:29:1 + | +LL | #[proc_macro_attribute = "test"] //~ ERROR: does not take any arguments + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +error: `#[proc_macro_attribute]` attribute does not take any arguments + --> $DIR/invalid-attributes.rs:32:1 + | +LL | #[proc_macro_attribute()] //~ ERROR: does not take any arguments + | ^^^^^^^^^^^^^^^^^^^^^^^^^ + +error: `#[proc_macro_attribute]` attribute does not take any arguments + --> $DIR/invalid-attributes.rs:35:1 + | +LL | #[proc_macro_attribute(x)] //~ ERROR: does not take any arguments + | ^^^^^^^^^^^^^^^^^^^^^^^^^^ + +error: aborting due to 6 previous errors + |
