Tweak more warnings.
Much like the previous commit. I think the removal of "the token" in each message is fine here. There are many more error messages that mention tokens without saying "the token" than those that do say it.
This commit is contained in:
parent
a201fab208
commit
dd2b027d5d
@ -2,10 +2,9 @@
|
|||||||
|
|
||||||
use rustc_ast::token::{self, Token, TokenKind};
|
use rustc_ast::token::{self, Token, TokenKind};
|
||||||
use rustc_ast::tokenstream::TokenStream;
|
use rustc_ast::tokenstream::TokenStream;
|
||||||
use rustc_ast_pretty::pprust;
|
|
||||||
use rustc_errors::{Applicability, Diag, DiagCtxtHandle, DiagMessage};
|
use rustc_errors::{Applicability, Diag, DiagCtxtHandle, DiagMessage};
|
||||||
use rustc_macros::Subdiagnostic;
|
use rustc_macros::Subdiagnostic;
|
||||||
use rustc_parse::parser::{Parser, Recovery};
|
use rustc_parse::parser::{Parser, Recovery, token_descr};
|
||||||
use rustc_session::parse::ParseSess;
|
use rustc_session::parse::ParseSess;
|
||||||
use rustc_span::source_map::SourceMap;
|
use rustc_span::source_map::SourceMap;
|
||||||
use rustc_span::symbol::Ident;
|
use rustc_span::symbol::Ident;
|
||||||
@ -336,17 +335,11 @@ pub(super) fn annotate_doc_comment(err: &mut Diag<'_>, sm: &SourceMap, span: Spa
|
|||||||
/// other tokens, this is "unexpected token...".
|
/// other tokens, this is "unexpected token...".
|
||||||
pub(super) fn parse_failure_msg(tok: &Token, expected_token: Option<&Token>) -> Cow<'static, str> {
|
pub(super) fn parse_failure_msg(tok: &Token, expected_token: Option<&Token>) -> Cow<'static, str> {
|
||||||
if let Some(expected_token) = expected_token {
|
if let Some(expected_token) = expected_token {
|
||||||
Cow::from(format!(
|
Cow::from(format!("expected {}, found {}", token_descr(expected_token), token_descr(tok)))
|
||||||
"expected `{}`, found `{}`",
|
|
||||||
pprust::token_to_string(expected_token),
|
|
||||||
pprust::token_to_string(tok),
|
|
||||||
))
|
|
||||||
} else {
|
} else {
|
||||||
match tok.kind {
|
match tok.kind {
|
||||||
token::Eof => Cow::from("unexpected end of macro invocation"),
|
token::Eof => Cow::from("unexpected end of macro invocation"),
|
||||||
_ => {
|
_ => Cow::from(format!("no rules expected {}", token_descr(tok))),
|
||||||
Cow::from(format!("no rules expected the token `{}`", pprust::token_to_string(tok)))
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -78,11 +78,10 @@
|
|||||||
pub(crate) use NamedMatch::*;
|
pub(crate) use NamedMatch::*;
|
||||||
pub(crate) use ParseResult::*;
|
pub(crate) use ParseResult::*;
|
||||||
use rustc_ast::token::{self, DocComment, NonterminalKind, Token};
|
use rustc_ast::token::{self, DocComment, NonterminalKind, Token};
|
||||||
use rustc_ast_pretty::pprust;
|
|
||||||
use rustc_data_structures::fx::FxHashMap;
|
use rustc_data_structures::fx::FxHashMap;
|
||||||
use rustc_errors::ErrorGuaranteed;
|
use rustc_errors::ErrorGuaranteed;
|
||||||
use rustc_lint_defs::pluralize;
|
use rustc_lint_defs::pluralize;
|
||||||
use rustc_parse::parser::{ParseNtResult, Parser};
|
use rustc_parse::parser::{ParseNtResult, Parser, token_descr};
|
||||||
use rustc_span::Span;
|
use rustc_span::Span;
|
||||||
use rustc_span::symbol::{Ident, MacroRulesNormalizedIdent};
|
use rustc_span::symbol::{Ident, MacroRulesNormalizedIdent};
|
||||||
|
|
||||||
@ -150,7 +149,7 @@ impl Display for MatcherLoc {
|
|||||||
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
|
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
|
||||||
match self {
|
match self {
|
||||||
MatcherLoc::Token { token } | MatcherLoc::SequenceSep { separator: token } => {
|
MatcherLoc::Token { token } | MatcherLoc::SequenceSep { separator: token } => {
|
||||||
write!(f, "`{}`", pprust::token_to_string(token))
|
write!(f, "{}", token_descr(token))
|
||||||
}
|
}
|
||||||
MatcherLoc::MetaVarDecl { bind, kind, .. } => {
|
MatcherLoc::MetaVarDecl { bind, kind, .. } => {
|
||||||
write!(f, "meta-variable `${bind}")?;
|
write!(f, "meta-variable `${bind}")?;
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
pub fn main() {
|
pub fn main() {
|
||||||
vec![,]; //~ ERROR no rules expected the token `,`
|
vec![,]; //~ ERROR no rules expected `,`
|
||||||
}
|
}
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
error: no rules expected the token `,`
|
error: no rules expected `,`
|
||||||
--> $DIR/vec-macro-with-comma-only.rs:2:10
|
--> $DIR/vec-macro-with-comma-only.rs:2:10
|
||||||
|
|
|
|
||||||
LL | vec![,];
|
LL | vec![,];
|
||||||
|
@ -13,8 +13,8 @@ pub fn check_async() {
|
|||||||
let mut r#async = 1; // OK
|
let mut r#async = 1; // OK
|
||||||
|
|
||||||
r#async = consumes_async!(async); // OK
|
r#async = consumes_async!(async); // OK
|
||||||
r#async = consumes_async!(r#async); //~ ERROR no rules expected the token `r#async`
|
r#async = consumes_async!(r#async); //~ ERROR no rules expected `r#async`
|
||||||
r#async = consumes_async_raw!(async); //~ ERROR no rules expected the token `async`
|
r#async = consumes_async_raw!(async); //~ ERROR no rules expected `async`
|
||||||
r#async = consumes_async_raw!(r#async); // OK
|
r#async = consumes_async_raw!(r#async); // OK
|
||||||
|
|
||||||
if passes_ident!(async) == 1 {} // OK
|
if passes_ident!(async) == 1 {} // OK
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
error: no rules expected the token `r#async`
|
error: no rules expected `r#async`
|
||||||
--> $DIR/edition-keywords-2015-2015-parsing.rs:16:31
|
--> $DIR/edition-keywords-2015-2015-parsing.rs:16:31
|
||||||
|
|
|
|
||||||
LL | r#async = consumes_async!(r#async);
|
LL | r#async = consumes_async!(r#async);
|
||||||
@ -10,7 +10,7 @@ note: while trying to match `async`
|
|||||||
LL | (async) => (1)
|
LL | (async) => (1)
|
||||||
| ^^^^^
|
| ^^^^^
|
||||||
|
|
||||||
error: no rules expected the token `async`
|
error: no rules expected `async`
|
||||||
--> $DIR/edition-keywords-2015-2015-parsing.rs:17:35
|
--> $DIR/edition-keywords-2015-2015-parsing.rs:17:35
|
||||||
|
|
|
|
||||||
LL | r#async = consumes_async_raw!(async);
|
LL | r#async = consumes_async_raw!(async);
|
||||||
|
@ -13,8 +13,8 @@ pub fn check_async() {
|
|||||||
let mut r#async = 1; // OK
|
let mut r#async = 1; // OK
|
||||||
|
|
||||||
r#async = consumes_async!(async); // OK
|
r#async = consumes_async!(async); // OK
|
||||||
r#async = consumes_async!(r#async); //~ ERROR no rules expected the token `r#async`
|
r#async = consumes_async!(r#async); //~ ERROR no rules expected `r#async`
|
||||||
r#async = consumes_async_raw!(async); //~ ERROR no rules expected the token `async`
|
r#async = consumes_async_raw!(async); //~ ERROR no rules expected `async`
|
||||||
r#async = consumes_async_raw!(r#async); // OK
|
r#async = consumes_async_raw!(r#async); // OK
|
||||||
|
|
||||||
if passes_ident!(async) == 1 {} // OK
|
if passes_ident!(async) == 1 {} // OK
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
error: no rules expected the token `r#async`
|
error: no rules expected `r#async`
|
||||||
--> $DIR/edition-keywords-2015-2018-parsing.rs:16:31
|
--> $DIR/edition-keywords-2015-2018-parsing.rs:16:31
|
||||||
|
|
|
|
||||||
LL | r#async = consumes_async!(r#async);
|
LL | r#async = consumes_async!(r#async);
|
||||||
@ -10,7 +10,7 @@ note: while trying to match `async`
|
|||||||
LL | (async) => (1)
|
LL | (async) => (1)
|
||||||
| ^^^^^
|
| ^^^^^
|
||||||
|
|
||||||
error: no rules expected the token `async`
|
error: no rules expected `async`
|
||||||
--> $DIR/edition-keywords-2015-2018-parsing.rs:17:35
|
--> $DIR/edition-keywords-2015-2018-parsing.rs:17:35
|
||||||
|
|
|
|
||||||
LL | r#async = consumes_async_raw!(async);
|
LL | r#async = consumes_async_raw!(async);
|
||||||
|
@ -17,8 +17,8 @@ pub fn check_async() {
|
|||||||
let mut r#async = 1; // OK
|
let mut r#async = 1; // OK
|
||||||
|
|
||||||
r#async = consumes_async!(async); // OK
|
r#async = consumes_async!(async); // OK
|
||||||
r#async = consumes_async!(r#async); //~ ERROR no rules expected the token `r#async`
|
r#async = consumes_async!(r#async); //~ ERROR no rules expected `r#async`
|
||||||
r#async = consumes_async_raw!(async); //~ ERROR no rules expected the token `async`
|
r#async = consumes_async_raw!(async); //~ ERROR no rules expected keyword `async`
|
||||||
r#async = consumes_async_raw!(r#async); // OK
|
r#async = consumes_async_raw!(r#async); // OK
|
||||||
|
|
||||||
if passes_ident!(async) == 1 {} // FIXME: Edition hygiene bug, async here is 2018 and reserved
|
if passes_ident!(async) == 1 {} // FIXME: Edition hygiene bug, async here is 2018 and reserved
|
||||||
|
@ -20,19 +20,19 @@ help: escape `async` to use it as an identifier
|
|||||||
LL | module::r#async();
|
LL | module::r#async();
|
||||||
| ++
|
| ++
|
||||||
|
|
||||||
error: no rules expected the token `r#async`
|
error: no rules expected `r#async`
|
||||||
--> $DIR/edition-keywords-2018-2015-parsing.rs:20:31
|
--> $DIR/edition-keywords-2018-2015-parsing.rs:20:31
|
||||||
|
|
|
|
||||||
LL | r#async = consumes_async!(r#async);
|
LL | r#async = consumes_async!(r#async);
|
||||||
| ^^^^^^^ no rules expected this token in macro call
|
| ^^^^^^^ no rules expected this token in macro call
|
||||||
|
|
|
|
||||||
note: while trying to match `async`
|
note: while trying to match keyword `async`
|
||||||
--> $DIR/auxiliary/edition-kw-macro-2015.rs:17:6
|
--> $DIR/auxiliary/edition-kw-macro-2015.rs:17:6
|
||||||
|
|
|
|
||||||
LL | (async) => (1)
|
LL | (async) => (1)
|
||||||
| ^^^^^
|
| ^^^^^
|
||||||
|
|
||||||
error: no rules expected the token `async`
|
error: no rules expected keyword `async`
|
||||||
--> $DIR/edition-keywords-2018-2015-parsing.rs:21:35
|
--> $DIR/edition-keywords-2018-2015-parsing.rs:21:35
|
||||||
|
|
|
|
||||||
LL | r#async = consumes_async_raw!(async);
|
LL | r#async = consumes_async_raw!(async);
|
||||||
|
@ -24,8 +24,8 @@ pub fn check_async() {
|
|||||||
let mut r#async = 1; // OK
|
let mut r#async = 1; // OK
|
||||||
|
|
||||||
r#async = consumes_async!(async); // OK
|
r#async = consumes_async!(async); // OK
|
||||||
r#async = consumes_async!(r#async); //~ ERROR no rules expected the token `r#async`
|
r#async = consumes_async!(r#async); //~ ERROR no rules expected `r#async`
|
||||||
r#async = consumes_async_raw!(async); //~ ERROR no rules expected the token `async`
|
r#async = consumes_async_raw!(async); //~ ERROR no rules expected keyword `async`
|
||||||
r#async = consumes_async_raw!(r#async); // OK
|
r#async = consumes_async_raw!(r#async); // OK
|
||||||
|
|
||||||
if passes_ident!(async) == 1 {} // FIXME: Edition hygiene bug, async here is 2018 and reserved
|
if passes_ident!(async) == 1 {} // FIXME: Edition hygiene bug, async here is 2018 and reserved
|
||||||
|
@ -20,19 +20,19 @@ help: escape `async` to use it as an identifier
|
|||||||
LL | module::r#async();
|
LL | module::r#async();
|
||||||
| ++
|
| ++
|
||||||
|
|
||||||
error: no rules expected the token `r#async`
|
error: no rules expected `r#async`
|
||||||
--> $DIR/edition-keywords-2018-2018-parsing.rs:27:31
|
--> $DIR/edition-keywords-2018-2018-parsing.rs:27:31
|
||||||
|
|
|
|
||||||
LL | r#async = consumes_async!(r#async);
|
LL | r#async = consumes_async!(r#async);
|
||||||
| ^^^^^^^ no rules expected this token in macro call
|
| ^^^^^^^ no rules expected this token in macro call
|
||||||
|
|
|
|
||||||
note: while trying to match `async`
|
note: while trying to match keyword `async`
|
||||||
--> $DIR/auxiliary/edition-kw-macro-2018.rs:17:6
|
--> $DIR/auxiliary/edition-kw-macro-2018.rs:17:6
|
||||||
|
|
|
|
||||||
LL | (async) => (1)
|
LL | (async) => (1)
|
||||||
| ^^^^^
|
| ^^^^^
|
||||||
|
|
||||||
error: no rules expected the token `async`
|
error: no rules expected keyword `async`
|
||||||
--> $DIR/edition-keywords-2018-2018-parsing.rs:28:35
|
--> $DIR/edition-keywords-2018-2018-parsing.rs:28:35
|
||||||
|
|
|
|
||||||
LL | r#async = consumes_async_raw!(async);
|
LL | r#async = consumes_async_raw!(async);
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
fn main() {
|
fn main() {
|
||||||
panic!(@); //~ ERROR no rules expected the token `@`
|
panic!(@); //~ ERROR no rules expected `@`
|
||||||
}
|
}
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
error: no rules expected the token `@`
|
error: no rules expected `@`
|
||||||
--> $DIR/fail-simple.rs:2:12
|
--> $DIR/fail-simple.rs:2:12
|
||||||
|
|
|
|
||||||
LL | panic!(@);
|
LL | panic!(@);
|
||||||
|
@ -10,7 +10,7 @@ error: expected one of `,`, `.`, `?`, or an operator, found `some`
|
|||||||
LL | assert!(true some extra junk);
|
LL | assert!(true some extra junk);
|
||||||
| ^^^^ expected one of `,`, `.`, `?`, or an operator
|
| ^^^^ expected one of `,`, `.`, `?`, or an operator
|
||||||
|
|
||||||
error: no rules expected the token `blah`
|
error: no rules expected `blah`
|
||||||
--> $DIR/assert-trailing-junk.rs:15:30
|
--> $DIR/assert-trailing-junk.rs:15:30
|
||||||
|
|
|
|
||||||
LL | assert!(true, "whatever" blah);
|
LL | assert!(true, "whatever" blah);
|
||||||
@ -28,7 +28,7 @@ LL | assert!(true "whatever" blah);
|
|||||||
| |
|
| |
|
||||||
| help: try adding a comma
|
| help: try adding a comma
|
||||||
|
|
||||||
error: no rules expected the token `blah`
|
error: no rules expected `blah`
|
||||||
--> $DIR/assert-trailing-junk.rs:18:29
|
--> $DIR/assert-trailing-junk.rs:18:29
|
||||||
|
|
|
|
||||||
LL | assert!(true "whatever" blah);
|
LL | assert!(true "whatever" blah);
|
||||||
|
@ -10,7 +10,7 @@ error: expected one of `,`, `.`, `?`, or an operator, found `some`
|
|||||||
LL | assert!(true some extra junk);
|
LL | assert!(true some extra junk);
|
||||||
| ^^^^ expected one of `,`, `.`, `?`, or an operator
|
| ^^^^ expected one of `,`, `.`, `?`, or an operator
|
||||||
|
|
||||||
error: no rules expected the token `blah`
|
error: no rules expected `blah`
|
||||||
--> $DIR/assert-trailing-junk.rs:15:30
|
--> $DIR/assert-trailing-junk.rs:15:30
|
||||||
|
|
|
|
||||||
LL | assert!(true, "whatever" blah);
|
LL | assert!(true, "whatever" blah);
|
||||||
@ -28,7 +28,7 @@ LL | assert!(true "whatever" blah);
|
|||||||
| |
|
| |
|
||||||
| help: try adding a comma
|
| help: try adding a comma
|
||||||
|
|
||||||
error: no rules expected the token `blah`
|
error: no rules expected `blah`
|
||||||
--> $DIR/assert-trailing-junk.rs:18:29
|
--> $DIR/assert-trailing-junk.rs:18:29
|
||||||
|
|
|
|
||||||
LL | assert!(true "whatever" blah);
|
LL | assert!(true "whatever" blah);
|
||||||
|
@ -2,7 +2,7 @@ macro_rules! number {
|
|||||||
(neg false, $self:ident) => { $self };
|
(neg false, $self:ident) => { $self };
|
||||||
($signed:tt => $ty:ty;) => {
|
($signed:tt => $ty:ty;) => {
|
||||||
number!(neg $signed, $self);
|
number!(neg $signed, $self);
|
||||||
//~^ ERROR no rules expected the token `$`
|
//~^ ERROR no rules expected `$`
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
error: no rules expected the token `$`
|
error: no rules expected `$`
|
||||||
--> $DIR/best-failure.rs:4:30
|
--> $DIR/best-failure.rs:4:30
|
||||||
|
|
|
|
||||||
LL | macro_rules! number {
|
LL | macro_rules! number {
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
error: no rules expected the token `const`
|
error: no rules expected keyword `const`
|
||||||
--> $DIR/expr_2021_inline_const.rs:23:12
|
--> $DIR/expr_2021_inline_const.rs:23:12
|
||||||
|
|
|
|
||||||
LL | macro_rules! m2021 {
|
LL | macro_rules! m2021 {
|
||||||
@ -13,7 +13,7 @@ note: while trying to match meta-variable `$e:expr_2021`
|
|||||||
LL | ($e:expr_2021) => {
|
LL | ($e:expr_2021) => {
|
||||||
| ^^^^^^^^^^^^
|
| ^^^^^^^^^^^^
|
||||||
|
|
||||||
error: no rules expected the token `const`
|
error: no rules expected keyword `const`
|
||||||
--> $DIR/expr_2021_inline_const.rs:24:12
|
--> $DIR/expr_2021_inline_const.rs:24:12
|
||||||
|
|
|
|
||||||
LL | macro_rules! m2024 {
|
LL | macro_rules! m2024 {
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
error: no rules expected the token `const`
|
error: no rules expected keyword `const`
|
||||||
--> $DIR/expr_2021_inline_const.rs:23:12
|
--> $DIR/expr_2021_inline_const.rs:23:12
|
||||||
|
|
|
|
||||||
LL | macro_rules! m2021 {
|
LL | macro_rules! m2021 {
|
||||||
|
@ -20,8 +20,8 @@ macro_rules! test {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
m2021!(const { 1 }); //~ ERROR: no rules expected the token `const`
|
m2021!(const { 1 }); //~ ERROR: no rules expected keyword `const`
|
||||||
m2024!(const { 1 }); //[edi2021]~ ERROR: no rules expected the token `const`
|
m2024!(const { 1 }); //[edi2021]~ ERROR: no rules expected keyword `const`
|
||||||
|
|
||||||
test!(expr);
|
test!(expr);
|
||||||
}
|
}
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
error: no rules expected the token `_`
|
error: no rules expected reserved identifier `_`
|
||||||
--> $DIR/expr_2024_underscore_expr.rs:19:12
|
--> $DIR/expr_2024_underscore_expr.rs:19:12
|
||||||
|
|
|
|
||||||
LL | macro_rules! m2021 {
|
LL | macro_rules! m2021 {
|
||||||
@ -13,7 +13,7 @@ note: while trying to match meta-variable `$e:expr_2021`
|
|||||||
LL | ($e:expr_2021) => {
|
LL | ($e:expr_2021) => {
|
||||||
| ^^^^^^^^^^^^
|
| ^^^^^^^^^^^^
|
||||||
|
|
||||||
error: no rules expected the token `_`
|
error: no rules expected reserved identifier `_`
|
||||||
--> $DIR/expr_2024_underscore_expr.rs:20:12
|
--> $DIR/expr_2024_underscore_expr.rs:20:12
|
||||||
|
|
|
|
||||||
LL | macro_rules! m2024 {
|
LL | macro_rules! m2024 {
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
error: no rules expected the token `_`
|
error: no rules expected reserved identifier `_`
|
||||||
--> $DIR/expr_2024_underscore_expr.rs:19:12
|
--> $DIR/expr_2024_underscore_expr.rs:19:12
|
||||||
|
|
|
|
||||||
LL | macro_rules! m2021 {
|
LL | macro_rules! m2021 {
|
||||||
|
@ -16,6 +16,6 @@ macro_rules! m2024 {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
m2021!(_); //~ ERROR: no rules expected the token `_`
|
m2021!(_); //~ ERROR: no rules expected reserved identifier `_`
|
||||||
m2024!(_); //[edi2021]~ ERROR: no rules expected the token `_`
|
m2024!(_); //[edi2021]~ ERROR: no rules expected reserved identifier `_`
|
||||||
}
|
}
|
||||||
|
@ -22,21 +22,21 @@ macro_rules! barstar {
|
|||||||
pub fn main() {
|
pub fn main() {
|
||||||
foo!();
|
foo!();
|
||||||
foo!(a);
|
foo!(a);
|
||||||
foo!(a?); //~ ERROR no rules expected the token `?`
|
foo!(a?); //~ ERROR no rules expected `?`
|
||||||
foo!(a?a); //~ ERROR no rules expected the token `?`
|
foo!(a?a); //~ ERROR no rules expected `?`
|
||||||
foo!(a?a?a); //~ ERROR no rules expected the token `?`
|
foo!(a?a?a); //~ ERROR no rules expected `?`
|
||||||
|
|
||||||
barplus!(); //~ERROR unexpected end of macro invocation
|
barplus!(); //~ERROR unexpected end of macro invocation
|
||||||
barplus!(a); //~ERROR unexpected end of macro invocation
|
barplus!(a); //~ERROR unexpected end of macro invocation
|
||||||
barplus!(a?); //~ ERROR no rules expected the token `?`
|
barplus!(a?); //~ ERROR no rules expected `?`
|
||||||
barplus!(a?a); //~ ERROR no rules expected the token `?`
|
barplus!(a?a); //~ ERROR no rules expected `?`
|
||||||
barplus!(a+);
|
barplus!(a+);
|
||||||
barplus!(+);
|
barplus!(+);
|
||||||
|
|
||||||
barstar!(); //~ERROR unexpected end of macro invocation
|
barstar!(); //~ERROR unexpected end of macro invocation
|
||||||
barstar!(a); //~ERROR unexpected end of macro invocation
|
barstar!(a); //~ERROR unexpected end of macro invocation
|
||||||
barstar!(a?); //~ ERROR no rules expected the token `?`
|
barstar!(a?); //~ ERROR no rules expected `?`
|
||||||
barstar!(a?a); //~ ERROR no rules expected the token `?`
|
barstar!(a?a); //~ ERROR no rules expected `?`
|
||||||
barstar!(a*);
|
barstar!(a*);
|
||||||
barstar!(*);
|
barstar!(*);
|
||||||
}
|
}
|
||||||
|
@ -4,7 +4,7 @@ error: the `?` macro repetition operator does not take a separator
|
|||||||
LL | ($(a),?) => {};
|
LL | ($(a),?) => {};
|
||||||
| ^
|
| ^
|
||||||
|
|
||||||
error: no rules expected the token `?`
|
error: no rules expected `?`
|
||||||
--> $DIR/macro-at-most-once-rep-2015.rs:25:11
|
--> $DIR/macro-at-most-once-rep-2015.rs:25:11
|
||||||
|
|
|
|
||||||
LL | macro_rules! foo {
|
LL | macro_rules! foo {
|
||||||
@ -15,7 +15,7 @@ LL | foo!(a?);
|
|||||||
|
|
|
|
||||||
= note: while trying to match sequence end
|
= note: while trying to match sequence end
|
||||||
|
|
||||||
error: no rules expected the token `?`
|
error: no rules expected `?`
|
||||||
--> $DIR/macro-at-most-once-rep-2015.rs:26:11
|
--> $DIR/macro-at-most-once-rep-2015.rs:26:11
|
||||||
|
|
|
|
||||||
LL | macro_rules! foo {
|
LL | macro_rules! foo {
|
||||||
@ -26,7 +26,7 @@ LL | foo!(a?a);
|
|||||||
|
|
|
|
||||||
= note: while trying to match sequence end
|
= note: while trying to match sequence end
|
||||||
|
|
||||||
error: no rules expected the token `?`
|
error: no rules expected `?`
|
||||||
--> $DIR/macro-at-most-once-rep-2015.rs:27:11
|
--> $DIR/macro-at-most-once-rep-2015.rs:27:11
|
||||||
|
|
|
|
||||||
LL | macro_rules! foo {
|
LL | macro_rules! foo {
|
||||||
@ -67,7 +67,7 @@ note: while trying to match `+`
|
|||||||
LL | ($(a)?+) => {}; // ok. matches "a+" and "+"
|
LL | ($(a)?+) => {}; // ok. matches "a+" and "+"
|
||||||
| ^
|
| ^
|
||||||
|
|
||||||
error: no rules expected the token `?`
|
error: no rules expected `?`
|
||||||
--> $DIR/macro-at-most-once-rep-2015.rs:31:15
|
--> $DIR/macro-at-most-once-rep-2015.rs:31:15
|
||||||
|
|
|
|
||||||
LL | macro_rules! barplus {
|
LL | macro_rules! barplus {
|
||||||
@ -82,7 +82,7 @@ note: while trying to match `+`
|
|||||||
LL | ($(a)?+) => {}; // ok. matches "a+" and "+"
|
LL | ($(a)?+) => {}; // ok. matches "a+" and "+"
|
||||||
| ^
|
| ^
|
||||||
|
|
||||||
error: no rules expected the token `?`
|
error: no rules expected `?`
|
||||||
--> $DIR/macro-at-most-once-rep-2015.rs:32:15
|
--> $DIR/macro-at-most-once-rep-2015.rs:32:15
|
||||||
|
|
|
|
||||||
LL | macro_rules! barplus {
|
LL | macro_rules! barplus {
|
||||||
@ -127,7 +127,7 @@ note: while trying to match `*`
|
|||||||
LL | ($(a)?*) => {}; // ok. matches "a*" and "*"
|
LL | ($(a)?*) => {}; // ok. matches "a*" and "*"
|
||||||
| ^
|
| ^
|
||||||
|
|
||||||
error: no rules expected the token `?`
|
error: no rules expected `?`
|
||||||
--> $DIR/macro-at-most-once-rep-2015.rs:38:15
|
--> $DIR/macro-at-most-once-rep-2015.rs:38:15
|
||||||
|
|
|
|
||||||
LL | macro_rules! barstar {
|
LL | macro_rules! barstar {
|
||||||
@ -142,7 +142,7 @@ note: while trying to match `*`
|
|||||||
LL | ($(a)?*) => {}; // ok. matches "a*" and "*"
|
LL | ($(a)?*) => {}; // ok. matches "a*" and "*"
|
||||||
| ^
|
| ^
|
||||||
|
|
||||||
error: no rules expected the token `?`
|
error: no rules expected `?`
|
||||||
--> $DIR/macro-at-most-once-rep-2015.rs:39:15
|
--> $DIR/macro-at-most-once-rep-2015.rs:39:15
|
||||||
|
|
|
|
||||||
LL | macro_rules! barstar {
|
LL | macro_rules! barstar {
|
||||||
|
@ -22,21 +22,21 @@ macro_rules! barstar {
|
|||||||
pub fn main() {
|
pub fn main() {
|
||||||
foo!();
|
foo!();
|
||||||
foo!(a);
|
foo!(a);
|
||||||
foo!(a?); //~ ERROR no rules expected the token `?`
|
foo!(a?); //~ ERROR no rules expected `?`
|
||||||
foo!(a?a); //~ ERROR no rules expected the token `?`
|
foo!(a?a); //~ ERROR no rules expected `?`
|
||||||
foo!(a?a?a); //~ ERROR no rules expected the token `?`
|
foo!(a?a?a); //~ ERROR no rules expected `?`
|
||||||
|
|
||||||
barplus!(); //~ERROR unexpected end of macro invocation
|
barplus!(); //~ERROR unexpected end of macro invocation
|
||||||
barplus!(a); //~ERROR unexpected end of macro invocation
|
barplus!(a); //~ERROR unexpected end of macro invocation
|
||||||
barplus!(a?); //~ ERROR no rules expected the token `?`
|
barplus!(a?); //~ ERROR no rules expected `?`
|
||||||
barplus!(a?a); //~ ERROR no rules expected the token `?`
|
barplus!(a?a); //~ ERROR no rules expected `?`
|
||||||
barplus!(a+);
|
barplus!(a+);
|
||||||
barplus!(+);
|
barplus!(+);
|
||||||
|
|
||||||
barstar!(); //~ERROR unexpected end of macro invocation
|
barstar!(); //~ERROR unexpected end of macro invocation
|
||||||
barstar!(a); //~ERROR unexpected end of macro invocation
|
barstar!(a); //~ERROR unexpected end of macro invocation
|
||||||
barstar!(a?); //~ ERROR no rules expected the token `?`
|
barstar!(a?); //~ ERROR no rules expected `?`
|
||||||
barstar!(a?a); //~ ERROR no rules expected the token `?`
|
barstar!(a?a); //~ ERROR no rules expected `?`
|
||||||
barstar!(a*);
|
barstar!(a*);
|
||||||
barstar!(*);
|
barstar!(*);
|
||||||
}
|
}
|
||||||
|
@ -4,7 +4,7 @@ error: the `?` macro repetition operator does not take a separator
|
|||||||
LL | ($(a),?) => {};
|
LL | ($(a),?) => {};
|
||||||
| ^
|
| ^
|
||||||
|
|
||||||
error: no rules expected the token `?`
|
error: no rules expected `?`
|
||||||
--> $DIR/macro-at-most-once-rep-2018.rs:25:11
|
--> $DIR/macro-at-most-once-rep-2018.rs:25:11
|
||||||
|
|
|
|
||||||
LL | macro_rules! foo {
|
LL | macro_rules! foo {
|
||||||
@ -15,7 +15,7 @@ LL | foo!(a?);
|
|||||||
|
|
|
|
||||||
= note: while trying to match sequence end
|
= note: while trying to match sequence end
|
||||||
|
|
||||||
error: no rules expected the token `?`
|
error: no rules expected `?`
|
||||||
--> $DIR/macro-at-most-once-rep-2018.rs:26:11
|
--> $DIR/macro-at-most-once-rep-2018.rs:26:11
|
||||||
|
|
|
|
||||||
LL | macro_rules! foo {
|
LL | macro_rules! foo {
|
||||||
@ -26,7 +26,7 @@ LL | foo!(a?a);
|
|||||||
|
|
|
|
||||||
= note: while trying to match sequence end
|
= note: while trying to match sequence end
|
||||||
|
|
||||||
error: no rules expected the token `?`
|
error: no rules expected `?`
|
||||||
--> $DIR/macro-at-most-once-rep-2018.rs:27:11
|
--> $DIR/macro-at-most-once-rep-2018.rs:27:11
|
||||||
|
|
|
|
||||||
LL | macro_rules! foo {
|
LL | macro_rules! foo {
|
||||||
@ -67,7 +67,7 @@ note: while trying to match `+`
|
|||||||
LL | ($(a)?+) => {}; // ok. matches "a+" and "+"
|
LL | ($(a)?+) => {}; // ok. matches "a+" and "+"
|
||||||
| ^
|
| ^
|
||||||
|
|
||||||
error: no rules expected the token `?`
|
error: no rules expected `?`
|
||||||
--> $DIR/macro-at-most-once-rep-2018.rs:31:15
|
--> $DIR/macro-at-most-once-rep-2018.rs:31:15
|
||||||
|
|
|
|
||||||
LL | macro_rules! barplus {
|
LL | macro_rules! barplus {
|
||||||
@ -82,7 +82,7 @@ note: while trying to match `+`
|
|||||||
LL | ($(a)?+) => {}; // ok. matches "a+" and "+"
|
LL | ($(a)?+) => {}; // ok. matches "a+" and "+"
|
||||||
| ^
|
| ^
|
||||||
|
|
||||||
error: no rules expected the token `?`
|
error: no rules expected `?`
|
||||||
--> $DIR/macro-at-most-once-rep-2018.rs:32:15
|
--> $DIR/macro-at-most-once-rep-2018.rs:32:15
|
||||||
|
|
|
|
||||||
LL | macro_rules! barplus {
|
LL | macro_rules! barplus {
|
||||||
@ -127,7 +127,7 @@ note: while trying to match `*`
|
|||||||
LL | ($(a)?*) => {}; // ok. matches "a*" and "*"
|
LL | ($(a)?*) => {}; // ok. matches "a*" and "*"
|
||||||
| ^
|
| ^
|
||||||
|
|
||||||
error: no rules expected the token `?`
|
error: no rules expected `?`
|
||||||
--> $DIR/macro-at-most-once-rep-2018.rs:38:15
|
--> $DIR/macro-at-most-once-rep-2018.rs:38:15
|
||||||
|
|
|
|
||||||
LL | macro_rules! barstar {
|
LL | macro_rules! barstar {
|
||||||
@ -142,7 +142,7 @@ note: while trying to match `*`
|
|||||||
LL | ($(a)?*) => {}; // ok. matches "a*" and "*"
|
LL | ($(a)?*) => {}; // ok. matches "a*" and "*"
|
||||||
| ^
|
| ^
|
||||||
|
|
||||||
error: no rules expected the token `?`
|
error: no rules expected `?`
|
||||||
--> $DIR/macro-at-most-once-rep-2018.rs:39:15
|
--> $DIR/macro-at-most-once-rep-2018.rs:39:15
|
||||||
|
|
|
|
||||||
LL | macro_rules! barstar {
|
LL | macro_rules! barstar {
|
||||||
|
@ -4,5 +4,5 @@ macro_rules! m { ($x:lifetime) => { } }
|
|||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
m!(a);
|
m!(a);
|
||||||
//~^ ERROR no rules expected the token `a`
|
//~^ ERROR no rules expected `a`
|
||||||
}
|
}
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
error: no rules expected the token `a`
|
error: no rules expected `a`
|
||||||
--> $DIR/macro-non-lifetime.rs:6:8
|
--> $DIR/macro-non-lifetime.rs:6:8
|
||||||
|
|
|
|
||||||
LL | macro_rules! m { ($x:lifetime) => { } }
|
LL | macro_rules! m { ($x:lifetime) => { } }
|
||||||
|
@ -19,16 +19,16 @@ fn main() {
|
|||||||
println!("{}" a);
|
println!("{}" a);
|
||||||
//~^ ERROR expected `,`, found `a`
|
//~^ ERROR expected `,`, found `a`
|
||||||
foo!(a b);
|
foo!(a b);
|
||||||
//~^ ERROR no rules expected the token `b`
|
//~^ ERROR no rules expected `b`
|
||||||
foo!(a, b, c, d e);
|
foo!(a, b, c, d e);
|
||||||
//~^ ERROR no rules expected the token `e`
|
//~^ ERROR no rules expected `e`
|
||||||
foo!(a, b, c d, e);
|
foo!(a, b, c d, e);
|
||||||
//~^ ERROR no rules expected the token `d`
|
//~^ ERROR no rules expected `d`
|
||||||
foo!(a, b, c d e);
|
foo!(a, b, c d e);
|
||||||
//~^ ERROR no rules expected the token `d`
|
//~^ ERROR no rules expected `d`
|
||||||
bar!(Level::Error, );
|
bar!(Level::Error, );
|
||||||
//~^ ERROR unexpected end of macro invocation
|
//~^ ERROR unexpected end of macro invocation
|
||||||
check!(<str as Debug>::fmt, "fmt");
|
check!(<str as Debug>::fmt, "fmt");
|
||||||
check!(<str as Debug>::fmt, "fmt",);
|
check!(<str as Debug>::fmt, "fmt",);
|
||||||
//~^ ERROR no rules expected the token `,`
|
//~^ ERROR no rules expected `,`
|
||||||
}
|
}
|
||||||
|
@ -4,7 +4,7 @@ error: expected `,`, found `a`
|
|||||||
LL | println!("{}" a);
|
LL | println!("{}" a);
|
||||||
| ^ expected `,`
|
| ^ expected `,`
|
||||||
|
|
||||||
error: no rules expected the token `b`
|
error: no rules expected `b`
|
||||||
--> $DIR/missing-comma.rs:21:12
|
--> $DIR/missing-comma.rs:21:12
|
||||||
|
|
|
|
||||||
LL | macro_rules! foo {
|
LL | macro_rules! foo {
|
||||||
@ -21,7 +21,7 @@ note: while trying to match meta-variable `$a:ident`
|
|||||||
LL | ($a:ident) => ();
|
LL | ($a:ident) => ();
|
||||||
| ^^^^^^^^
|
| ^^^^^^^^
|
||||||
|
|
||||||
error: no rules expected the token `e`
|
error: no rules expected `e`
|
||||||
--> $DIR/missing-comma.rs:23:21
|
--> $DIR/missing-comma.rs:23:21
|
||||||
|
|
|
|
||||||
LL | macro_rules! foo {
|
LL | macro_rules! foo {
|
||||||
@ -38,7 +38,7 @@ note: while trying to match meta-variable `$d:ident`
|
|||||||
LL | ($a:ident, $b:ident, $c:ident, $d:ident) => ();
|
LL | ($a:ident, $b:ident, $c:ident, $d:ident) => ();
|
||||||
| ^^^^^^^^
|
| ^^^^^^^^
|
||||||
|
|
||||||
error: no rules expected the token `d`
|
error: no rules expected `d`
|
||||||
--> $DIR/missing-comma.rs:25:18
|
--> $DIR/missing-comma.rs:25:18
|
||||||
|
|
|
|
||||||
LL | macro_rules! foo {
|
LL | macro_rules! foo {
|
||||||
@ -55,7 +55,7 @@ note: while trying to match meta-variable `$c:ident`
|
|||||||
LL | ($a:ident, $b:ident, $c:ident) => ();
|
LL | ($a:ident, $b:ident, $c:ident) => ();
|
||||||
| ^^^^^^^^
|
| ^^^^^^^^
|
||||||
|
|
||||||
error: no rules expected the token `d`
|
error: no rules expected `d`
|
||||||
--> $DIR/missing-comma.rs:27:18
|
--> $DIR/missing-comma.rs:27:18
|
||||||
|
|
|
|
||||||
LL | macro_rules! foo {
|
LL | macro_rules! foo {
|
||||||
@ -85,7 +85,7 @@ note: while trying to match meta-variable `$arg:tt`
|
|||||||
LL | ($lvl:expr, $($arg:tt)+) => {}
|
LL | ($lvl:expr, $($arg:tt)+) => {}
|
||||||
| ^^^^^^^
|
| ^^^^^^^
|
||||||
|
|
||||||
error: no rules expected the token `,`
|
error: no rules expected `,`
|
||||||
--> $DIR/missing-comma.rs:32:38
|
--> $DIR/missing-comma.rs:32:38
|
||||||
|
|
|
|
||||||
LL | macro_rules! check {
|
LL | macro_rules! check {
|
||||||
|
@ -16,7 +16,7 @@
|
|||||||
struct S;
|
struct S;
|
||||||
}
|
}
|
||||||
|
|
||||||
n!(a $nt_item b); //~ ERROR no rules expected the token `enum E {}`
|
n!(a $nt_item b); //~ ERROR no rules expected item `enum E {}`
|
||||||
}
|
}
|
||||||
|
|
||||||
simple_nonterminal!(a, 'a, (x, y, z)); // OK
|
simple_nonterminal!(a, 'a, (x, y, z)); // OK
|
||||||
@ -29,10 +29,10 @@ macro_rules! foo {
|
|||||||
(ident $x:ident) => { bar!(ident $x); };
|
(ident $x:ident) => { bar!(ident $x); };
|
||||||
(lifetime $x:lifetime) => { bar!(lifetime $x); };
|
(lifetime $x:lifetime) => { bar!(lifetime $x); };
|
||||||
(tt $x:tt) => { bar!(tt $x); };
|
(tt $x:tt) => { bar!(tt $x); };
|
||||||
(expr $x:expr) => { bar!(expr $x); }; //~ ERROR: no rules expected the token `3`
|
(expr $x:expr) => { bar!(expr $x); }; //~ ERROR: no rules expected expression `3`
|
||||||
(literal $x:literal) => { bar!(literal $x); }; //~ ERROR: no rules expected the token `4`
|
(literal $x:literal) => { bar!(literal $x); }; //~ ERROR: no rules expected literal `4`
|
||||||
(path $x:path) => { bar!(path $x); }; //~ ERROR: no rules expected the token `a::b::c`
|
(path $x:path) => { bar!(path $x); }; //~ ERROR: no rules expected path `a::b::c`
|
||||||
(stmt $x:stmt) => { bar!(stmt $x); }; //~ ERROR: no rules expected the token `let abc = 0`
|
(stmt $x:stmt) => { bar!(stmt $x); }; //~ ERROR: no rules expected statement `let abc = 0`
|
||||||
}
|
}
|
||||||
|
|
||||||
macro_rules! bar {
|
macro_rules! bar {
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
error: no rules expected the token `enum E {}`
|
error: no rules expected item `enum E {}`
|
||||||
--> $DIR/nonterminal-matching.rs:19:10
|
--> $DIR/nonterminal-matching.rs:19:10
|
||||||
|
|
|
|
||||||
LL | macro n(a $nt_item b) {
|
LL | macro n(a $nt_item b) {
|
||||||
@ -10,7 +10,7 @@ LL | n!(a $nt_item b);
|
|||||||
LL | complex_nonterminal!(enum E {});
|
LL | complex_nonterminal!(enum E {});
|
||||||
| ------------------------------- in this macro invocation
|
| ------------------------------- in this macro invocation
|
||||||
|
|
|
|
||||||
note: while trying to match `enum E {}`
|
note: while trying to match item `enum E {}`
|
||||||
--> $DIR/nonterminal-matching.rs:15:15
|
--> $DIR/nonterminal-matching.rs:15:15
|
||||||
|
|
|
|
||||||
LL | macro n(a $nt_item b) {
|
LL | macro n(a $nt_item b) {
|
||||||
@ -23,7 +23,7 @@ LL | complex_nonterminal!(enum E {});
|
|||||||
= help: try using `:tt` instead in the macro definition
|
= help: try using `:tt` instead in the macro definition
|
||||||
= note: this error originates in the macro `complex_nonterminal` (in Nightly builds, run with -Z macro-backtrace for more info)
|
= note: this error originates in the macro `complex_nonterminal` (in Nightly builds, run with -Z macro-backtrace for more info)
|
||||||
|
|
||||||
error: no rules expected the token `3`
|
error: no rules expected expression `3`
|
||||||
--> $DIR/nonterminal-matching.rs:32:35
|
--> $DIR/nonterminal-matching.rs:32:35
|
||||||
|
|
|
|
||||||
LL | (expr $x:expr) => { bar!(expr $x); };
|
LL | (expr $x:expr) => { bar!(expr $x); };
|
||||||
@ -45,7 +45,7 @@ LL | (expr 3) => {};
|
|||||||
= help: try using `:tt` instead in the macro definition
|
= help: try using `:tt` instead in the macro definition
|
||||||
= note: this error originates in the macro `foo` (in Nightly builds, run with -Z macro-backtrace for more info)
|
= note: this error originates in the macro `foo` (in Nightly builds, run with -Z macro-backtrace for more info)
|
||||||
|
|
||||||
error: no rules expected the token `4`
|
error: no rules expected literal `4`
|
||||||
--> $DIR/nonterminal-matching.rs:33:44
|
--> $DIR/nonterminal-matching.rs:33:44
|
||||||
|
|
|
|
||||||
LL | (literal $x:literal) => { bar!(literal $x); };
|
LL | (literal $x:literal) => { bar!(literal $x); };
|
||||||
@ -67,7 +67,7 @@ LL | (literal 4) => {};
|
|||||||
= help: try using `:tt` instead in the macro definition
|
= help: try using `:tt` instead in the macro definition
|
||||||
= note: this error originates in the macro `foo` (in Nightly builds, run with -Z macro-backtrace for more info)
|
= note: this error originates in the macro `foo` (in Nightly builds, run with -Z macro-backtrace for more info)
|
||||||
|
|
||||||
error: no rules expected the token `a::b::c`
|
error: no rules expected path `a::b::c`
|
||||||
--> $DIR/nonterminal-matching.rs:34:35
|
--> $DIR/nonterminal-matching.rs:34:35
|
||||||
|
|
|
|
||||||
LL | (path $x:path) => { bar!(path $x); };
|
LL | (path $x:path) => { bar!(path $x); };
|
||||||
@ -89,7 +89,7 @@ LL | (path a::b::c) => {};
|
|||||||
= help: try using `:tt` instead in the macro definition
|
= help: try using `:tt` instead in the macro definition
|
||||||
= note: this error originates in the macro `foo` (in Nightly builds, run with -Z macro-backtrace for more info)
|
= note: this error originates in the macro `foo` (in Nightly builds, run with -Z macro-backtrace for more info)
|
||||||
|
|
||||||
error: no rules expected the token `let abc = 0`
|
error: no rules expected statement `let abc = 0`
|
||||||
--> $DIR/nonterminal-matching.rs:35:35
|
--> $DIR/nonterminal-matching.rs:35:35
|
||||||
|
|
|
|
||||||
LL | (stmt $x:stmt) => { bar!(stmt $x); };
|
LL | (stmt $x:stmt) => { bar!(stmt $x); };
|
||||||
@ -101,7 +101,7 @@ LL | macro_rules! bar {
|
|||||||
LL | foo!(stmt let abc = 0);
|
LL | foo!(stmt let abc = 0);
|
||||||
| ---------------------- in this macro invocation
|
| ---------------------- in this macro invocation
|
||||||
|
|
|
|
||||||
note: while trying to match `let`
|
note: while trying to match keyword `let`
|
||||||
--> $DIR/nonterminal-matching.rs:45:11
|
--> $DIR/nonterminal-matching.rs:45:11
|
||||||
|
|
|
|
||||||
LL | (stmt let abc = 0) => {};
|
LL | (stmt let abc = 0) => {};
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
error: no rules expected the token `bcd`
|
error: no rules expected `bcd`
|
||||||
--> $DIR/trace_faulty_macros.rs:7:26
|
--> $DIR/trace_faulty_macros.rs:7:26
|
||||||
|
|
|
|
||||||
LL | macro_rules! my_faulty_macro {
|
LL | macro_rules! my_faulty_macro {
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
fn main() {
|
fn main() {
|
||||||
offset_of!(NotEnoughArguments); //~ ERROR unexpected end of macro invocation
|
offset_of!(NotEnoughArguments); //~ ERROR unexpected end of macro invocation
|
||||||
offset_of!(NotEnoughArgumentsWithAComma, ); //~ ERROR unexpected end of macro invocation
|
offset_of!(NotEnoughArgumentsWithAComma, ); //~ ERROR unexpected end of macro invocation
|
||||||
offset_of!(Container, field, too many arguments); //~ ERROR no rules expected the token `too`
|
offset_of!(Container, field, too many arguments); //~ ERROR no rules expected `too`
|
||||||
offset_of!(S, f); // compiles fine
|
offset_of!(S, f); // compiles fine
|
||||||
offset_of!(S, f,); // also compiles fine
|
offset_of!(S, f,); // also compiles fine
|
||||||
offset_of!(S, f.); //~ ERROR unexpected token: `)`
|
offset_of!(S, f.); //~ ERROR unexpected token: `)`
|
||||||
|
@ -16,7 +16,7 @@ LL | offset_of!(NotEnoughArgumentsWithAComma, );
|
|||||||
note: while trying to match meta-variable `$fields:expr`
|
note: while trying to match meta-variable `$fields:expr`
|
||||||
--> $SRC_DIR/core/src/mem/mod.rs:LL:COL
|
--> $SRC_DIR/core/src/mem/mod.rs:LL:COL
|
||||||
|
|
||||||
error: no rules expected the token `too`
|
error: no rules expected `too`
|
||||||
--> $DIR/offset-of-arg-count.rs:6:34
|
--> $DIR/offset-of-arg-count.rs:6:34
|
||||||
|
|
|
|
||||||
LL | offset_of!(Container, field, too many arguments);
|
LL | offset_of!(Container, field, too many arguments);
|
||||||
|
@ -76,7 +76,7 @@ error: suffixes on a tuple index are invalid
|
|||||||
LL | offset_of!((u8, u8), 1_u8);
|
LL | offset_of!((u8, u8), 1_u8);
|
||||||
| ^^^^ invalid suffix `u8`
|
| ^^^^ invalid suffix `u8`
|
||||||
|
|
||||||
error: no rules expected the token `+`
|
error: no rules expected `+`
|
||||||
--> $DIR/offset-of-tuple.rs:11:26
|
--> $DIR/offset-of-tuple.rs:11:26
|
||||||
|
|
|
|
||||||
LL | offset_of!((u8, u8), +1);
|
LL | offset_of!((u8, u8), +1);
|
||||||
|
@ -9,5 +9,5 @@ macro_rules! accept_pat {
|
|||||||
($p:pat) => {};
|
($p:pat) => {};
|
||||||
}
|
}
|
||||||
|
|
||||||
accept_pat!(p | q); //~ ERROR no rules expected the token `|`
|
accept_pat!(p | q); //~ ERROR no rules expected `|`
|
||||||
accept_pat!(|p| q); //~ ERROR no rules expected the token `|`
|
accept_pat!(|p| q); //~ ERROR no rules expected `|`
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
error: no rules expected the token `|`
|
error: no rules expected `|`
|
||||||
--> $DIR/or-patterns-syntactic-fail-2018.rs:12:15
|
--> $DIR/or-patterns-syntactic-fail-2018.rs:12:15
|
||||||
|
|
|
|
||||||
LL | macro_rules! accept_pat {
|
LL | macro_rules! accept_pat {
|
||||||
@ -13,7 +13,7 @@ note: while trying to match meta-variable `$p:pat`
|
|||||||
LL | ($p:pat) => {};
|
LL | ($p:pat) => {};
|
||||||
| ^^^^^^
|
| ^^^^^^
|
||||||
|
|
||||||
error: no rules expected the token `|`
|
error: no rules expected `|`
|
||||||
--> $DIR/or-patterns-syntactic-fail-2018.rs:13:13
|
--> $DIR/or-patterns-syntactic-fail-2018.rs:13:13
|
||||||
|
|
|
|
||||||
LL | macro_rules! accept_pat {
|
LL | macro_rules! accept_pat {
|
||||||
|
@ -4,6 +4,6 @@ macro_rules! outer {
|
|||||||
|
|
||||||
outer! {
|
outer! {
|
||||||
//! Inner
|
//! Inner
|
||||||
} //~^ ERROR no rules expected the token `!`
|
} //~^ ERROR no rules expected `!`
|
||||||
|
|
||||||
fn main() { }
|
fn main() { }
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
error: no rules expected the token `!`
|
error: no rules expected `!`
|
||||||
--> $DIR/macro-doc-comments-1.rs:6:5
|
--> $DIR/macro-doc-comments-1.rs:6:5
|
||||||
|
|
|
|
||||||
LL | macro_rules! outer {
|
LL | macro_rules! outer {
|
||||||
|
@ -4,6 +4,6 @@ macro_rules! inner {
|
|||||||
|
|
||||||
inner! {
|
inner! {
|
||||||
/// Outer
|
/// Outer
|
||||||
} //~^ ERROR no rules expected the token `[`
|
} //~^ ERROR no rules expected `[`
|
||||||
|
|
||||||
fn main() { }
|
fn main() { }
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
error: no rules expected the token `[`
|
error: no rules expected `[`
|
||||||
--> $DIR/macro-doc-comments-2.rs:6:5
|
--> $DIR/macro-doc-comments-2.rs:6:5
|
||||||
|
|
|
|
||||||
LL | macro_rules! inner {
|
LL | macro_rules! inner {
|
||||||
|
@ -68,7 +68,7 @@ macro_rules! use_expr {
|
|||||||
_ => {}
|
_ => {}
|
||||||
}
|
}
|
||||||
use_expr!(let 0 = 1);
|
use_expr!(let 0 = 1);
|
||||||
//~^ ERROR no rules expected the token `let`
|
//~^ ERROR no rules expected keyword `let`
|
||||||
}
|
}
|
||||||
|
|
||||||
fn main() {}
|
fn main() {}
|
||||||
|
@ -131,7 +131,7 @@ LL | use_expr!((let 0 = 1));
|
|||||||
|
|
|
|
||||||
= note: only supported directly in conditions of `if` and `while` expressions
|
= note: only supported directly in conditions of `if` and `while` expressions
|
||||||
|
|
||||||
error: no rules expected the token `let`
|
error: no rules expected keyword `let`
|
||||||
--> $DIR/feature-gate.rs:70:15
|
--> $DIR/feature-gate.rs:70:15
|
||||||
|
|
|
|
||||||
LL | macro_rules! use_expr {
|
LL | macro_rules! use_expr {
|
||||||
|
@ -54,7 +54,7 @@ macro_rules! use_expr {
|
|||||||
#[cfg(FALSE)] (let 0 = 1);
|
#[cfg(FALSE)] (let 0 = 1);
|
||||||
//~^ ERROR expected expression, found `let` statement
|
//~^ ERROR expected expression, found `let` statement
|
||||||
use_expr!(let 0 = 1);
|
use_expr!(let 0 = 1);
|
||||||
//~^ ERROR no rules expected the token `let`
|
//~^ ERROR no rules expected keyword `let`
|
||||||
}
|
}
|
||||||
|
|
||||||
fn main() {}
|
fn main() {}
|
||||||
|
@ -14,7 +14,7 @@ LL | noop_expr!((let 0 = 1));
|
|||||||
|
|
|
|
||||||
= note: only supported directly in conditions of `if` and `while` expressions
|
= note: only supported directly in conditions of `if` and `while` expressions
|
||||||
|
|
||||||
error: no rules expected the token `let`
|
error: no rules expected keyword `let`
|
||||||
--> $DIR/feature-gate.rs:56:15
|
--> $DIR/feature-gate.rs:56:15
|
||||||
|
|
|
|
||||||
LL | macro_rules! use_expr {
|
LL | macro_rules! use_expr {
|
||||||
|
@ -5,5 +5,5 @@ macro_rules! identity {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
let identity!(_) = 10; //~ ERROR no rules expected the token `_`
|
let identity!(_) = 10; //~ ERROR no rules expected reserved identifier `_`
|
||||||
}
|
}
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
error: no rules expected the token `_`
|
error: no rules expected reserved identifier `_`
|
||||||
--> $DIR/underscore-ident-matcher.rs:8:19
|
--> $DIR/underscore-ident-matcher.rs:8:19
|
||||||
|
|
|
|
||||||
LL | macro_rules! identity {
|
LL | macro_rules! identity {
|
||||||
|
Loading…
Reference in New Issue
Block a user