Auto merge of #89860 - camsteffen:macro-semi, r=petrochenkov

Remove trailing semicolon from macro call span

Macro call site spans are now less surprising/more consistent since they no longer contain a semicolon after the macro call.

The downside is that we need to do a little guesswork to get the semicolon in diagnostics. But this should not be noticeable since it is rare for the semicolon to not immediately follow the macro call.
This commit is contained in:
bors 2021-10-16 18:20:20 +00:00
commit 4e89811b46
251 changed files with 775 additions and 729 deletions

View file

@ -1024,12 +1024,10 @@ impl<'a, 'b> InvocationCollector<'a, 'b> {
placeholder(fragment_kind, NodeId::placeholder_from_expn_id(expn_id), vis)
}
fn collect_bang(
&mut self,
mac: ast::MacCall,
span: Span,
kind: AstFragmentKind,
) -> AstFragment {
fn collect_bang(&mut self, mac: ast::MacCall, kind: AstFragmentKind) -> AstFragment {
// cache the macro call span so that it can be
// easily adjusted for incremental compilation
let span = mac.span();
self.collect(kind, InvocationKind::Bang { mac, span })
}
@ -1087,25 +1085,19 @@ impl<'a, 'b> InvocationCollector<'a, 'b> {
let MacCallStmt { mac, style, attrs, .. } = mac.into_inner();
Ok((style == MacStmtStyle::Semicolon, mac, attrs.into()))
}
StmtKind::Item(ref item) if matches!(item.kind, ItemKind::MacCall(..)) => {
match stmt.kind {
StmtKind::Item(item) => match item.into_inner() {
ast::Item { kind: ItemKind::MacCall(mac), attrs, .. } => {
Ok((mac.args.need_semicolon(), mac, attrs))
}
_ => unreachable!(),
},
StmtKind::Item(item) if matches!(item.kind, ItemKind::MacCall(..)) => {
match item.into_inner() {
ast::Item { kind: ItemKind::MacCall(mac), attrs, .. } => {
Ok((mac.args.need_semicolon(), mac, attrs))
}
_ => unreachable!(),
}
}
StmtKind::Semi(ref expr) if matches!(expr.kind, ast::ExprKind::MacCall(..)) => {
match stmt.kind {
StmtKind::Semi(expr) => match expr.into_inner() {
ast::Expr { kind: ast::ExprKind::MacCall(mac), attrs, .. } => {
Ok((mac.args.need_semicolon(), mac, attrs.into()))
}
_ => unreachable!(),
},
StmtKind::Semi(expr) if matches!(expr.kind, ast::ExprKind::MacCall(..)) => {
match expr.into_inner() {
ast::Expr { kind: ast::ExprKind::MacCall(mac), attrs, .. } => {
Ok((mac.args.need_semicolon(), mac, attrs.into()))
}
_ => unreachable!(),
}
}
@ -1222,7 +1214,7 @@ impl<'a, 'b> MutVisitor for InvocationCollector<'a, 'b> {
if let ast::ExprKind::MacCall(mac) = expr.kind {
self.check_attributes(&expr.attrs, &mac);
self.collect_bang(mac, expr.span, AstFragmentKind::Expr).make_expr().into_inner()
self.collect_bang(mac, AstFragmentKind::Expr).make_expr().into_inner()
} else {
assign_id!(self, &mut expr.id, || {
ensure_sufficient_stack(|| noop_visit_expr(&mut expr, self));
@ -1318,7 +1310,7 @@ impl<'a, 'b> MutVisitor for InvocationCollector<'a, 'b> {
if let ast::ExprKind::MacCall(mac) = expr.kind {
self.check_attributes(&expr.attrs, &mac);
self.collect_bang(mac, expr.span, AstFragmentKind::OptExpr)
self.collect_bang(mac, AstFragmentKind::OptExpr)
.make_opt_expr()
.map(|expr| expr.into_inner())
} else {
@ -1339,9 +1331,7 @@ impl<'a, 'b> MutVisitor for InvocationCollector<'a, 'b> {
}
visit_clobber(pat, |mut pat| match mem::replace(&mut pat.kind, PatKind::Wild) {
PatKind::MacCall(mac) => {
self.collect_bang(mac, pat.span, AstFragmentKind::Pat).make_pat()
}
PatKind::MacCall(mac) => self.collect_bang(mac, AstFragmentKind::Pat).make_pat(),
_ => unreachable!(),
});
}
@ -1360,12 +1350,10 @@ impl<'a, 'b> MutVisitor for InvocationCollector<'a, 'b> {
.make_stmts();
}
let span = stmt.span;
match self.take_stmt_bang(stmt) {
Ok((add_semicolon, mac, attrs)) => {
self.check_attributes(&attrs, &mac);
let mut stmts =
self.collect_bang(mac, span, AstFragmentKind::Stmts).make_stmts();
let mut stmts = self.collect_bang(mac, AstFragmentKind::Stmts).make_stmts();
// If this is a macro invocation with a semicolon, then apply that
// semicolon to the final statement produced by expansion.
@ -1433,7 +1421,7 @@ impl<'a, 'b> MutVisitor for InvocationCollector<'a, 'b> {
item.attrs = attrs;
item.and_then(|item| match item.kind {
ItemKind::MacCall(mac) => {
self.collect_bang(mac, span, AstFragmentKind::Items).make_items()
self.collect_bang(mac, AstFragmentKind::Items).make_items()
}
_ => unreachable!(),
})
@ -1542,9 +1530,9 @@ impl<'a, 'b> MutVisitor for InvocationCollector<'a, 'b> {
ast::AssocItemKind::MacCall(ref mac) => {
self.check_attributes(&item.attrs, &mac);
item.and_then(|item| match item.kind {
ast::AssocItemKind::MacCall(mac) => self
.collect_bang(mac, item.span, AstFragmentKind::TraitItems)
.make_trait_items(),
ast::AssocItemKind::MacCall(mac) => {
self.collect_bang(mac, AstFragmentKind::TraitItems).make_trait_items()
}
_ => unreachable!(),
})
}
@ -1567,9 +1555,9 @@ impl<'a, 'b> MutVisitor for InvocationCollector<'a, 'b> {
ast::AssocItemKind::MacCall(ref mac) => {
self.check_attributes(&item.attrs, &mac);
item.and_then(|item| match item.kind {
ast::AssocItemKind::MacCall(mac) => self
.collect_bang(mac, item.span, AstFragmentKind::ImplItems)
.make_impl_items(),
ast::AssocItemKind::MacCall(mac) => {
self.collect_bang(mac, AstFragmentKind::ImplItems).make_impl_items()
}
_ => unreachable!(),
})
}
@ -1586,9 +1574,7 @@ impl<'a, 'b> MutVisitor for InvocationCollector<'a, 'b> {
};
visit_clobber(ty, |mut ty| match mem::replace(&mut ty.kind, ast::TyKind::Err) {
ast::TyKind::MacCall(mac) => {
self.collect_bang(mac, ty.span, AstFragmentKind::Ty).make_ty()
}
ast::TyKind::MacCall(mac) => self.collect_bang(mac, AstFragmentKind::Ty).make_ty(),
_ => unreachable!(),
});
}
@ -1613,9 +1599,9 @@ impl<'a, 'b> MutVisitor for InvocationCollector<'a, 'b> {
ast::ForeignItemKind::MacCall(ref mac) => {
self.check_attributes(&foreign_item.attrs, &mac);
foreign_item.and_then(|item| match item.kind {
ast::ForeignItemKind::MacCall(mac) => self
.collect_bang(mac, item.span, AstFragmentKind::ForeignItems)
.make_foreign_items(),
ast::ForeignItemKind::MacCall(mac) => {
self.collect_bang(mac, AstFragmentKind::ForeignItems).make_foreign_items()
}
_ => unreachable!(),
})
}

View file

@ -653,6 +653,18 @@ impl SourceMap {
})
}
/// Extends the given `Span` while the next character matches the predicate
pub fn span_extend_while(
&self,
span: Span,
f: impl Fn(char) -> bool,
) -> Result<Span, SpanSnippetError> {
self.span_to_source(span, |s, _start, end| {
let n = s[end..].char_indices().find(|&(_, c)| !f(c)).map_or(s.len() - end, |(i, _)| i);
Ok(span.with_hi(span.hi() + BytePos(n as u32)))
})
}
/// Extends the given `Span` to just after the next occurrence of `c`.
pub fn span_extend_to_next_char(&self, sp: Span, c: char, accept_newlines: bool) -> Span {
if let Ok(next_source) = self.span_to_next_source(sp) {
@ -1013,6 +1025,32 @@ impl SourceMap {
let source_file = &self.files()[source_file_index];
source_file.is_imported()
}
/// Gets the span of a statement. If the statement is a macro expansion, the
/// span in the context of the block span is found. The trailing semicolon is included
/// on a best-effort basis.
pub fn stmt_span(&self, stmt_span: Span, block_span: Span) -> Span {
if !stmt_span.from_expansion() {
return stmt_span;
}
let mac_call = original_sp(stmt_span, block_span);
self.mac_call_stmt_semi_span(mac_call).map_or(mac_call, |s| mac_call.with_hi(s.hi()))
}
/// Tries to find the span of the semicolon of a macro call statement.
/// The input must be the *call site* span of a statement from macro expansion.
///
/// v output
/// mac!();
/// ^^^^^^ input
pub fn mac_call_stmt_semi_span(&self, mac_call: Span) -> Option<Span> {
let span = self.span_extend_while(mac_call, char::is_whitespace).ok()?;
let span = span.shrink_to_hi().with_hi(BytePos(span.hi().0.checked_add(1)?));
if self.span_to_snippet(span).as_deref() != Ok(";") {
return None;
}
Some(span)
}
}
#[derive(Clone)]

View file

@ -1171,8 +1171,13 @@ impl<'a, 'tcx> FnCtxt<'a, 'tcx> {
{
return None;
}
let original_span = original_sp(last_stmt.span, blk.span);
Some((original_span.with_lo(original_span.hi() - BytePos(1)), needs_box))
let span = if last_stmt.span.from_expansion() {
let mac_call = original_sp(last_stmt.span, blk.span);
self.tcx.sess.source_map().mac_call_stmt_semi_span(mac_call)?
} else {
last_stmt.span.with_lo(last_stmt.span.hi() - BytePos(1))
};
Some((span, needs_box))
}
// Instantiates the given path, which must refer to an item with the given

View file

@ -59,7 +59,7 @@
StorageDead(_6); // scope 2 at $DIR/unreachable_asm.rs:18:9: 18:10
StorageDead(_5); // scope 2 at $DIR/unreachable_asm.rs:18:9: 18:10
StorageLive(_7); // scope 2 at $DIR/unreachable_asm.rs:21:9: 21:37
llvm_asm!(LlvmInlineAsmInner { asm: "NOP", asm_str_style: Cooked, outputs: [], inputs: [], clobbers: [], volatile: true, alignstack: false, dialect: Att } : [] : []); // scope 3 at $DIR/unreachable_asm.rs:21:18: 21:35
llvm_asm!(LlvmInlineAsmInner { asm: "NOP", asm_str_style: Cooked, outputs: [], inputs: [], clobbers: [], volatile: true, alignstack: false, dialect: Att } : [] : []); // scope 3 at $DIR/unreachable_asm.rs:21:18: 21:34
_7 = const (); // scope 3 at $DIR/unreachable_asm.rs:21:9: 21:37
StorageDead(_7); // scope 2 at $DIR/unreachable_asm.rs:21:36: 21:37
StorageLive(_8); // scope 2 at $DIR/unreachable_asm.rs:22:9: 22:21

View file

@ -49,7 +49,7 @@
bb3: {
StorageLive(_7); // scope 2 at $DIR/unreachable_asm_2.rs:16:13: 16:41
llvm_asm!(LlvmInlineAsmInner { asm: "NOP", asm_str_style: Cooked, outputs: [], inputs: [], clobbers: [], volatile: true, alignstack: false, dialect: Att } : [] : []); // scope 3 at $DIR/unreachable_asm_2.rs:16:22: 16:39
llvm_asm!(LlvmInlineAsmInner { asm: "NOP", asm_str_style: Cooked, outputs: [], inputs: [], clobbers: [], volatile: true, alignstack: false, dialect: Att } : [] : []); // scope 3 at $DIR/unreachable_asm_2.rs:16:22: 16:38
_7 = const (); // scope 3 at $DIR/unreachable_asm_2.rs:16:13: 16:41
StorageDead(_7); // scope 2 at $DIR/unreachable_asm_2.rs:16:40: 16:41
_4 = const 21_i32; // scope 2 at $DIR/unreachable_asm_2.rs:17:13: 17:20
@ -60,7 +60,7 @@
bb4: {
StorageLive(_8); // scope 2 at $DIR/unreachable_asm_2.rs:20:13: 20:41
llvm_asm!(LlvmInlineAsmInner { asm: "NOP", asm_str_style: Cooked, outputs: [], inputs: [], clobbers: [], volatile: true, alignstack: false, dialect: Att } : [] : []); // scope 4 at $DIR/unreachable_asm_2.rs:20:22: 20:39
llvm_asm!(LlvmInlineAsmInner { asm: "NOP", asm_str_style: Cooked, outputs: [], inputs: [], clobbers: [], volatile: true, alignstack: false, dialect: Att } : [] : []); // scope 4 at $DIR/unreachable_asm_2.rs:20:22: 20:38
_8 = const (); // scope 4 at $DIR/unreachable_asm_2.rs:20:13: 20:41
StorageDead(_8); // scope 2 at $DIR/unreachable_asm_2.rs:20:40: 20:41
_4 = const 42_i32; // scope 2 at $DIR/unreachable_asm_2.rs:21:13: 21:20

View file

@ -88,7 +88,7 @@ LL | #[doc = $f]
| ^^^^^^^^^^^
...
LL | f!("Foo\nbar [BarF] bar\nbaz");
| ------------------------------- in this macro invocation
| ------------------------------ in this macro invocation
|
= note: the link appears in this line:

View file

@ -18,7 +18,7 @@ LL | impl LintPass for Custom {
| ^^^^^^^^
...
LL | custom_lint_pass_macro!();
| -------------------------- in this macro invocation
| ------------------------- in this macro invocation
|
= help: try using `declare_lint_pass!` or `impl_lint_pass!` instead
= note: this error originates in the macro `custom_lint_pass_macro` (in Nightly builds, run with -Z macro-backtrace for more info)

View file

@ -2,7 +2,7 @@ error: proc macro panicked
--> $DIR/issue-76270-panic-in-libproc-macro.rs:15:1
|
LL | proc_macro_panic::panic_in_libproc_macro!();
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= help: message: `""` is not a valid identifier

View file

@ -2,41 +2,41 @@ error: hello to you, too!
--> $DIR/multispan.rs:15:5
|
LL | hello!(hi);
| ^^^^^^^^^^^
| ^^^^^^^^^^
|
error: hello to you, too!
--> $DIR/multispan.rs:18:5
|
LL | hello!(hi hi);
| ^^^^^^^^^^^^^^
| ^^^^^^^^^^^^^
|
error: hello to you, too!
--> $DIR/multispan.rs:21:5
|
LL | hello!(hi hi hi);
| ^^^^^^^^^^^^^^^^^
| ^^^^^^^^^^^^^^^^
|
error: hello to you, too!
--> $DIR/multispan.rs:24:5
|
LL | hello!(hi hey hi yo hi beep beep hi hi);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
error: hello to you, too!
--> $DIR/multispan.rs:25:5
|
LL | hello!(hi there, hi how are you? hi... hi.);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
error: hello to you, too!
--> $DIR/multispan.rs:26:5
|
LL | hello!(whoah. hi di hi di ho);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
error: hello to you, too!
--> $DIR/multispan.rs:27:5
|
LL | hello!(hi good hi and good bye);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|

View file

@ -7,7 +7,7 @@ LL | $options($pure, $nomem, $readonly, $preserves_flags, $noretur
LL | / m!(in out lateout inout inlateout const sym
LL | | pure nomem readonly preserves_flags
LL | | noreturn nostack options);
| |_________________________________- in this macro invocation
| |________________________________- in this macro invocation
|
= note: this error originates in the macro `m` (in Nightly builds, run with -Z macro-backtrace for more info)
@ -20,7 +20,7 @@ LL | $options($pure, $nomem, $readonly, $preserves_flags, $noretur
LL | / m!(in out lateout inout inlateout const sym
LL | | pure nomem readonly preserves_flags
LL | | noreturn nostack options);
| |_________________________________- in this macro invocation
| |________________________________- in this macro invocation
|
= note: this error originates in the macro `m` (in Nightly builds, run with -Z macro-backtrace for more info)
@ -38,12 +38,12 @@ LL | m!(in out lateout inout inlateout const sym
| |
LL | | pure nomem readonly preserves_flags
LL | | noreturn nostack options);
| | -
| |_________________________________|
| |_________________________________in this macro invocation
| |_________________________________in this macro invocation
| |_________________________________in this macro invocation
| in this macro invocation
| | -
| |________________________________|
| |________________________________in this macro invocation
| |________________________________in this macro invocation
| |________________________________in this macro invocation
| in this macro invocation
|
= note: this error originates in the macro `m` (in Nightly builds, run with -Z macro-backtrace for more info)

View file

@ -2,7 +2,7 @@ error: requires at least a template string argument
--> $DIR/parse-error.rs:9:9
|
LL | asm!();
| ^^^^^^^
| ^^^^^^
error: asm template must be a string literal
--> $DIR/parse-error.rs:11:14
@ -236,7 +236,7 @@ error: requires at least a template string argument
--> $DIR/parse-error.rs:90:1
|
LL | global_asm!();
| ^^^^^^^^^^^^^^
| ^^^^^^^^^^^^^
error: asm template must be a string literal
--> $DIR/parse-error.rs:92:13

View file

@ -77,7 +77,7 @@ error[E0381]: use of possibly-uninitialized variable: `y`
--> $DIR/type-check-2.rs:20:9
|
LL | asm!("{}", inout(reg) y);
| ^^^^^^^^^^^^^^^^^^^^^^^^^ use of possibly-uninitialized `y`
| ^^^^^^^^^^^^^^^^^^^^^^^^ use of possibly-uninitialized `y`
error[E0596]: cannot borrow `v` as mutable, as it is not declared as mutable
--> $DIR/type-check-2.rs:28:29

View file

@ -2,13 +2,13 @@ error[E0472]: inline assembly is unsupported on this target
--> $DIR/bad-arch.rs:22:9
|
LL | asm!("");
| ^^^^^^^^^
| ^^^^^^^^
error[E0472]: inline assembly is unsupported on this target
--> $DIR/bad-arch.rs:27:1
|
LL | global_asm!("");
| ^^^^^^^^^^^^^^^^
| ^^^^^^^^^^^^^^^
|
= note: this error originates in the macro `global_asm` (in Nightly builds, run with -Z macro-backtrace for more info)

View file

@ -2,13 +2,13 @@ error[E0472]: inline assembly is unsupported on this target
--> $DIR/bad-arch.rs:22:9
|
LL | asm!("");
| ^^^^^^^^^
| ^^^^^^^^
error[E0472]: inline assembly is unsupported on this target
--> $DIR/bad-arch.rs:27:1
|
LL | global_asm!("");
| ^^^^^^^^^^^^^^^^
| ^^^^^^^^^^^^^^^
|
= note: this error originates in the macro `global_asm` (in Nightly builds, run with -Z macro-backtrace for more info)

View file

@ -111,7 +111,7 @@ LL | | in(reg) a,
... |
LL | | sym G,
LL | | );
| |______^
| |_____^
|
= warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
= note: for more information, see issue #32408 <https://github.com/rust-lang/rust/issues/32408>
@ -156,7 +156,7 @@ warning: asm in naked functions must use `noreturn` option
--> $DIR/naked-functions.rs:89:5
|
LL | asm!("");
| ^^^^^^^^^
| ^^^^^^^^
|
= warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
= note: for more information, see issue #32408 <https://github.com/rust-lang/rust/issues/32408>
@ -165,7 +165,7 @@ warning: asm in naked functions must use `noreturn` option
--> $DIR/naked-functions.rs:92:5
|
LL | asm!("");
| ^^^^^^^^^
| ^^^^^^^^
|
= warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
= note: for more information, see issue #32408 <https://github.com/rust-lang/rust/issues/32408>
@ -174,7 +174,7 @@ warning: asm in naked functions must use `noreturn` option
--> $DIR/naked-functions.rs:95:5
|
LL | asm!("");
| ^^^^^^^^^
| ^^^^^^^^
|
= warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
= note: for more information, see issue #32408 <https://github.com/rust-lang/rust/issues/32408>
@ -188,13 +188,13 @@ LL | |
LL | | asm!("");
... |
LL | | asm!("");
| | --------- multiple asm blocks are unsupported in naked functions
| | -------- multiple asm blocks are unsupported in naked functions
... |
LL | | asm!("");
| | --------- multiple asm blocks are unsupported in naked functions
| | -------- multiple asm blocks are unsupported in naked functions
... |
LL | | asm!("", options(noreturn));
| | ---------------------------- multiple asm blocks are unsupported in naked functions
| | --------------------------- multiple asm blocks are unsupported in naked functions
LL | | }
| |_^
|
@ -228,7 +228,7 @@ warning: the LLVM-style inline assembly is unsupported in naked functions
--> $DIR/naked-functions.rs:116:5
|
LL | llvm_asm!("");
| ^^^^^^^^^^^^^^
| ^^^^^^^^^^^^^
|
= warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
= note: for more information, see issue #32408 <https://github.com/rust-lang/rust/issues/32408>
@ -255,7 +255,7 @@ warning: asm options unsupported in naked functions: `nomem`, `preserves_flags`
--> $DIR/naked-functions.rs:124:5
|
LL | asm!("", options(nomem, preserves_flags, noreturn));
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
= note: for more information, see issue #32408 <https://github.com/rust-lang/rust/issues/32408>
@ -264,7 +264,7 @@ warning: asm options unsupported in naked functions: `nostack`, `pure`, `readonl
--> $DIR/naked-functions.rs:131:5
|
LL | asm!("", options(readonly, nostack), options(pure));
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
= note: for more information, see issue #32408 <https://github.com/rust-lang/rust/issues/32408>
@ -273,7 +273,7 @@ warning: asm in naked functions must use `noreturn` option
--> $DIR/naked-functions.rs:131:5
|
LL | asm!("", options(readonly, nostack), options(pure));
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
= note: for more information, see issue #32408 <https://github.com/rust-lang/rust/issues/32408>

View file

@ -2,7 +2,7 @@ error: the legacy LLVM-style asm! syntax is no longer supported
--> $DIR/rustfix-asm.rs:11:9
|
LL | asm!("" :: "r" (x));
| ----^^^^^^^^^^^^^^^^
| ----^^^^^^^^^^^^^^^
| |
| help: replace with: `llvm_asm!`
|
@ -13,7 +13,7 @@ error: the legacy LLVM-style asm! syntax is no longer supported
--> $DIR/rustfix-asm.rs:13:9
|
LL | asm!("" : "=r" (y));
| ----^^^^^^^^^^^^^^^^
| ----^^^^^^^^^^^^^^^
| |
| help: replace with: `llvm_asm!`
|

View file

@ -4,7 +4,7 @@ error[E0506]: cannot assign to `a` because it is borrowed
LL | let p = &a;
| -- borrow of `a` occurs here
LL | asm!("{}", out(reg) a);
| ^^^^^^^^^^^^^^^^^^^^^^^ assignment to borrowed `a` occurs here
| ^^^^^^^^^^^^^^^^^^^^^^ assignment to borrowed `a` occurs here
LL |
LL | println!("{}", p);
| - borrow later used here

View file

@ -7,7 +7,7 @@ LL | $options($pure, $nomem, $readonly, $preserves_flags, $noretur
LL | / m!(in out lateout inout inlateout const sym
LL | | pure nomem readonly preserves_flags
LL | | noreturn nostack att_syntax options);
| |____________________________________________- in this macro invocation
| |___________________________________________- in this macro invocation
|
= note: this error originates in the macro `m` (in Nightly builds, run with -Z macro-backtrace for more info)
@ -20,7 +20,7 @@ LL | $options($pure, $nomem, $readonly, $preserves_flags, $noretur
LL | / m!(in out lateout inout inlateout const sym
LL | | pure nomem readonly preserves_flags
LL | | noreturn nostack att_syntax options);
| |____________________________________________- in this macro invocation
| |___________________________________________- in this macro invocation
|
= note: this error originates in the macro `m` (in Nightly builds, run with -Z macro-backtrace for more info)
@ -38,12 +38,12 @@ LL | m!(in out lateout inout inlateout const sym
| |
LL | | pure nomem readonly preserves_flags
LL | | noreturn nostack att_syntax options);
| | -
| |____________________________________________|
| |____________________________________________in this macro invocation
| |____________________________________________in this macro invocation
| |____________________________________________in this macro invocation
| in this macro invocation
| | -
| |___________________________________________|
| |___________________________________________in this macro invocation
| |___________________________________________in this macro invocation
| |___________________________________________in this macro invocation
| in this macro invocation
|
= note: this error originates in the macro `m` (in Nightly builds, run with -Z macro-backtrace for more info)

View file

@ -2,7 +2,7 @@ error: requires at least a template string argument
--> $DIR/parse-error.rs:9:9
|
LL | asm!();
| ^^^^^^^
| ^^^^^^
error: asm template must be a string literal
--> $DIR/parse-error.rs:11:14
@ -236,7 +236,7 @@ error: requires at least a template string argument
--> $DIR/parse-error.rs:90:1
|
LL | global_asm!();
| ^^^^^^^^^^^^^^
| ^^^^^^^^^^^^^
error: asm template must be a string literal
--> $DIR/parse-error.rs:92:13

View file

@ -77,7 +77,7 @@ error[E0381]: use of possibly-uninitialized variable: `y`
--> $DIR/type-check-2.rs:16:9
|
LL | asm!("{}", inout(reg) y);
| ^^^^^^^^^^^^^^^^^^^^^^^^^ use of possibly-uninitialized `y`
| ^^^^^^^^^^^^^^^^^^^^^^^^ use of possibly-uninitialized `y`
error[E0596]: cannot borrow `v` as mutable, as it is not declared as mutable
--> $DIR/type-check-2.rs:24:29

View file

@ -20,7 +20,7 @@ error: erroneous constant used
--> $DIR/defaults-not-assumed-fail.rs:34:5
|
LL | assert_eq!(<() as Tr>::B, 0); // causes the error above
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ referenced constant has errors
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ referenced constant has errors
|
= warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
= note: for more information, see issue #71800 <https://github.com/rust-lang/rust/issues/71800>

View file

@ -8,7 +8,7 @@ LL | continue 'a
| ^^ unreachable label `'a`
...
LL | b!();
| ----- in this macro invocation
| ---- in this macro invocation
|
= note: labels are unreachable through functions, closures, async blocks and modules
= note: this error originates in the macro `b` (in Nightly builds, run with -Z macro-backtrace for more info)

View file

@ -11,7 +11,7 @@ LL | bug!("bug" + stringify!(found));
| ^^^^^^^^^^^^^^^^^^^^^^^^^
...
LL | bug!();
| ------- in this macro invocation
| ------ in this macro invocation
|
= note: this error originates in the macro `bug` (in Nightly builds, run with -Z macro-backtrace for more info)
@ -31,7 +31,7 @@ LL | doc_comment! {format!("{coor}", coor = stringify!($t1)).as_str()}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...
LL | some_macro!(u8);
| ---------------- in this macro invocation
| --------------- in this macro invocation
|
= note: this error originates in the macro `some_macro` (in Nightly builds, run with -Z macro-backtrace for more info)

View file

@ -5,7 +5,7 @@ LL | #[repr(align($n))]
| ^^
...
LL | pass_nonterminal!(n!());
| ------------------------ in this macro invocation
| ----------------------- in this macro invocation
|
= note: this error originates in the macro `pass_nonterminal` (in Nightly builds, run with -Z macro-backtrace for more info)
@ -16,7 +16,7 @@ LL | #[repr(align($n))]
| ^^^^^^^^^
...
LL | pass_nonterminal!(n!());
| ------------------------ in this macro invocation
| ----------------------- in this macro invocation
|
= note: this error originates in the macro `pass_nonterminal` (in Nightly builds, run with -Z macro-backtrace for more info)

View file

@ -2,7 +2,7 @@ error[E0369]: binary operation `==` cannot be applied to type `for<'r> fn(&'r i3
--> $DIR/issue-77910-1.rs:8:5
|
LL | assert_eq!(foo, y);
| ^^^^^^^^^^^^^^^^^^^
| ^^^^^^^^^^^^^^^^^^
| |
| for<'r> fn(&'r i32) -> &'r i32 {foo}
| _
@ -13,7 +13,7 @@ error[E0277]: `for<'r> fn(&'r i32) -> &'r i32 {foo}` doesn't implement `Debug`
--> $DIR/issue-77910-1.rs:8:5
|
LL | assert_eq!(foo, y);
| ^^^^^^^^^^^^^^^^^^^ `for<'r> fn(&'r i32) -> &'r i32 {foo}` cannot be formatted using `{:?}` because it doesn't implement `Debug`
| ^^^^^^^^^^^^^^^^^^ `for<'r> fn(&'r i32) -> &'r i32 {foo}` cannot be formatted using `{:?}` because it doesn't implement `Debug`
|
= help: the trait `Debug` is not implemented for `for<'r> fn(&'r i32) -> &'r i32 {foo}`
= note: this error originates in the macro `assert_eq` (in Nightly builds, run with -Z macro-backtrace for more info)

View file

@ -10,4 +10,11 @@ pub fn g() -> String { //~ ERROR mismatched types
"removeme".to_string()
}
pub fn macro_tests() -> u32 { //~ ERROR mismatched types
macro_rules! mac {
() => (1);
}
mac!()
}
fn main() {}

View file

@ -10,4 +10,11 @@ pub fn g() -> String { //~ ERROR mismatched types
"removeme".to_string();
}
pub fn macro_tests() -> u32 { //~ ERROR mismatched types
macro_rules! mac {
() => (1);
}
mac!();
}
fn main() {}

View file

@ -20,6 +20,17 @@ LL | "this won't work".to_string();
LL | "removeme".to_string();
| - help: consider removing this semicolon
error: aborting due to 2 previous errors
error[E0308]: mismatched types
--> $DIR/consider-removing-last-semi.rs:13:25
|
LL | pub fn macro_tests() -> u32 {
| ----------- ^^^ expected `u32`, found `()`
| |
| implicitly returns `()` as its body has no tail or `return` expression
...
LL | mac!();
| - help: consider removing this semicolon
error: aborting due to 3 previous errors
For more information about this error, try `rustc --explain E0308`.

View file

@ -5,9 +5,6 @@ LL | fn foo() -> String {
| --- ^^^^^^ expected struct `String`, found `()`
| |
| implicitly returns `()` as its body has no tail or `return` expression
...
LL | ;
| - help: consider removing this semicolon
error[E0308]: mismatched types
--> $DIR/issue-13428.rs:11:13

View file

@ -10,7 +10,7 @@ LL | let a = $c;
::: $DIR/move-error-snippets.rs:21:1
|
LL | sss!();
| ------- in this macro invocation
| ------ in this macro invocation
|
= note: this error originates in the macro `aaa` (in Nightly builds, run with -Z macro-backtrace for more info)

View file

@ -17,7 +17,7 @@ LL | | let x = a.0;
| | --- in Rust 2018, this closure captures all of `a`, but in Rust 2021, it will only capture `a.0`
LL | | println!("{:?}", x);
LL | | });
| |_______- in this macro invocation
| |______- in this macro invocation
|
note: the lint level is defined here
--> $DIR/closure-body-macro-fragment.rs:4:9

View file

@ -2,7 +2,7 @@ error: requires at least a format string argument
--> $DIR/bad-format-args.rs:2:5
|
LL | format!();
| ^^^^^^^^^^
| ^^^^^^^^^
|
= note: this error originates in the macro `$crate::__export::format_args` (in Nightly builds, run with -Z macro-backtrace for more info)

View file

@ -2,7 +2,7 @@ error[E0600]: cannot apply unary operator `!` to type `&'static str`
--> $DIR/issue-28308.rs:2:5
|
LL | assert!("foo");
| ^^^^^^^^^^^^^^^ cannot apply unary operator `!`
| ^^^^^^^^^^^^^^ cannot apply unary operator `!`
|
= note: this error originates in the macro `assert` (in Nightly builds, run with -Z macro-backtrace for more info)

View file

@ -2,7 +2,7 @@ error: a very descriptive error message
--> $DIR/compile_error_macro.rs:2:5
|
LL | compile_error!("a very descriptive error message");
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: aborting due to previous error

View file

@ -59,7 +59,7 @@ LL | #[cfg(feature = $expr)]
| ^^^^^
...
LL | generate_s10!(concat!("nonexistent"));
| -------------------------------------- in this macro invocation
| ------------------------------------- in this macro invocation
|
= note: this error originates in the macro `generate_s10` (in Nightly builds, run with -Z macro-backtrace for more info)
@ -70,7 +70,7 @@ LL | #[cfg(feature = $expr)]
| ^^^^^
...
LL | generate_s10!(concat!("nonexistent"));
| -------------------------------------- in this macro invocation
| ------------------------------------- in this macro invocation
|
= note: this error originates in the macro `generate_s10` (in Nightly builds, run with -Z macro-backtrace for more info)

View file

@ -5,7 +5,7 @@ LL | #[cfg_attr(all(), unknown)]
| ^^^^^^^
...
LL | foo!();
| ------- in this macro invocation
| ------ in this macro invocation
|
= note: this error originates in the macro `foo` (in Nightly builds, run with -Z macro-backtrace for more info)

View file

@ -2,7 +2,7 @@ error: any use of this value will cause an error
--> $DIR/const-external-macro-const-err.rs:12:5
|
LL | static_assert!(2 + 2 == 5);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^ index out of bounds: the length is 1 but the index is 1
| ^^^^^^^^^^^^^^^^^^^^^^^^^^ index out of bounds: the length is 1 but the index is 1
|
= note: `#[deny(const_err)]` on by default
= warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!

View file

@ -2,7 +2,7 @@ error[E0080]: could not evaluate static initializer
--> $DIR/issue-32829.rs:1:22
|
LL | static S : u64 = { { panic!("foo"); 0 } };
| ^^^^^^^^^^^^^^ the evaluated program panicked at 'foo', $DIR/issue-32829.rs:1:22
| ^^^^^^^^^^^^^ the evaluated program panicked at 'foo', $DIR/issue-32829.rs:1:22
|
= note: this error originates in the macro `$crate::panic::panic_2015` (in Nightly builds, run with -Z macro-backtrace for more info)

View file

@ -18,7 +18,7 @@ error: argument to `panic!()` in a const context must have type `&str`
--> $DIR/issue-66693.rs:11:5
|
LL | panic!(&1);
| ^^^^^^^^^^^
| ^^^^^^^^^^
|
= note: this error originates in the macro `$crate::panic::panic_2015` (in Nightly builds, run with -Z macro-backtrace for more info)

View file

@ -2,7 +2,7 @@ error[E0080]: could not evaluate static initializer
--> $DIR/inline_asm.rs:11:14
|
LL | unsafe { llvm_asm!("xor %eax, %eax" ::: "eax"); }
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ inline assembly is not supported
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ inline assembly is not supported
|
= note: this error originates in the macro `llvm_asm` (in Nightly builds, run with -Z macro-backtrace for more info)
@ -10,7 +10,7 @@ error[E0080]: could not evaluate static initializer
--> $DIR/inline_asm.rs:20:14
|
LL | unsafe { asm!("nop"); }
| ^^^^^^^^^^^^ inline assembly is not supported
| ^^^^^^^^^^^ inline assembly is not supported
warning: skipping const checks
|
@ -18,12 +18,12 @@ help: skipping check that does not even have a feature gate
--> $DIR/inline_asm.rs:11:14
|
LL | unsafe { llvm_asm!("xor %eax, %eax" ::: "eax"); }
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
help: skipping check that does not even have a feature gate
--> $DIR/inline_asm.rs:20:14
|
LL | unsafe { asm!("nop"); }
| ^^^^^^^^^^^^
| ^^^^^^^^^^^
= note: this warning originates in the macro `llvm_asm` (in Nightly builds, run with -Z macro-backtrace for more info)
error: aborting due to 2 previous errors; 1 warning emitted

View file

@ -2,7 +2,7 @@ error: 1 positional argument in format string, but no arguments were given
--> $DIR/main.rs:6:5
|
LL | myprintln!("{}");
| ^^^^^^^^^^^^^^^^^
| ^^^^^^^^^^^^^^^^
|
= note: this error originates in the macro `concat` (in Nightly builds, run with -Z macro-backtrace for more info)

View file

@ -7,7 +7,7 @@ LL | _
::: $DIR/main.rs:5:5
|
LL | underscore!();
| -------------- in this macro invocation
| ------------- in this macro invocation
|
= note: see issue #71126 <https://github.com/rust-lang/rust/issues/71126> for more information
= help: add `#![feature(destructuring_assignment)]` to the crate attributes to enable
@ -22,7 +22,7 @@ LL | _
::: $DIR/main.rs:5:5
|
LL | underscore!();
| -------------- in this macro invocation
| ------------- in this macro invocation
|
= note: this error originates in the macro `underscore` (in Nightly builds, run with -Z macro-backtrace for more info)

View file

@ -2,7 +2,7 @@ error: use of deprecated function `deprecation_lint::deprecated`: text
--> $DIR/deprecation-lint-2.rs:12:5
|
LL | macro_test!();
| ^^^^^^^^^^^^^^
| ^^^^^^^^^^^^^
|
note: the lint level is defined here
--> $DIR/deprecation-lint-2.rs:4:9

View file

@ -53,7 +53,7 @@ LL | ($ty: ty) => ($ty::clone(&0))
| ^^^^^^^^^^ help: try: `<$ty>::clone`
...
LL | expr!(u8);
| ---------- in this macro invocation
| --------- in this macro invocation
|
= note: this error originates in the macro `expr` (in Nightly builds, run with -Z macro-backtrace for more info)

View file

@ -5,7 +5,7 @@ LL | ($t:tt $($tail:tt)*) => { recurse!($($tail)*) };
| ^^^^^^^^^^^^^^^^^^^
...
LL | recurse!(0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9);
| -------------------------------------------------- in this macro invocation
| ------------------------------------------------- in this macro invocation
|
= help: consider increasing the recursion limit by adding a `#![recursion_limit = "20"]` attribute to your crate (`recursion_limit_macro`)
= note: this error originates in the macro `recurse` (in Nightly builds, run with -Z macro-backtrace for more info)

View file

@ -5,7 +5,7 @@ LL | mod $i;
| ^^^^^^^
...
LL | mod_decl!(foo);
| --------------- in this macro invocation
| -------------- in this macro invocation
|
= note: this error originates in the macro `mod_decl` (in Nightly builds, run with -Z macro-backtrace for more info)

View file

@ -5,7 +5,7 @@ LL | use a::$crate::b;
| ^^^^^^ `$crate` in paths can only be used in start position
...
LL | m!();
| ----- in this macro invocation
| ---- in this macro invocation
|
= note: this error originates in the macro `m` (in Nightly builds, run with -Z macro-backtrace for more info)
@ -16,7 +16,7 @@ LL | use a::$crate;
| ^^^^^^^^^ no `$crate` in `a`
...
LL | m!();
| ----- in this macro invocation
| ---- in this macro invocation
|
= note: this error originates in the macro `m` (in Nightly builds, run with -Z macro-backtrace for more info)
@ -27,7 +27,7 @@ LL | type A = a::$crate;
| ^^^^^^ `$crate` in paths can only be used in start position
...
LL | m!();
| ----- in this macro invocation
| ---- in this macro invocation
|
= note: this error originates in the macro `m` (in Nightly builds, run with -Z macro-backtrace for more info)

View file

@ -5,7 +5,7 @@ LL | struct $crate {}
| ^^^^^^ expected identifier, found reserved identifier
...
LL | m!();
| ----- in this macro invocation
| ---- in this macro invocation
|
= note: this error originates in the macro `m` (in Nightly builds, run with -Z macro-backtrace for more info)
@ -16,7 +16,7 @@ LL | use $crate as $crate;
| ^^^^^^ expected identifier, found reserved identifier
...
LL | m!();
| ----- in this macro invocation
| ---- in this macro invocation
|
= note: this error originates in the macro `m` (in Nightly builds, run with -Z macro-backtrace for more info)
@ -27,7 +27,7 @@ LL | use $crate;
| ^^^^^^^^^^^
...
LL | m!();
| ----- in this macro invocation
| ---- in this macro invocation
|
= note: this error originates in the macro `m` (in Nightly builds, run with -Z macro-backtrace for more info)
@ -38,7 +38,7 @@ LL | use $crate as $crate;
| ^^^^^^^^^^^^^^^^^^^^^
...
LL | m!();
| ----- in this macro invocation
| ---- in this macro invocation
|
= note: this error originates in the macro `m` (in Nightly builds, run with -Z macro-backtrace for more info)

View file

@ -2,7 +2,7 @@ error: cannot glob-import all possible crates
--> $DIR/edition-imports-2015.rs:23:5
|
LL | gen_glob!();
| ^^^^^^^^^^^^
| ^^^^^^^^^^^
|
= note: this error originates in the macro `gen_glob` (in Nightly builds, run with -Z macro-backtrace for more info)

View file

@ -2,7 +2,7 @@ error: cannot glob-import all possible crates
--> $DIR/edition-imports-2018.rs:24:5
|
LL | gen_glob!();
| ^^^^^^^^^^^^
| ^^^^^^^^^^^
|
= note: this error originates in the macro `gen_glob` (in Nightly builds, run with -Z macro-backtrace for more info)

View file

@ -2,7 +2,7 @@ error[E0432]: unresolved import `E`
--> $DIR/edition-imports-virtual-2015-gated.rs:8:5
|
LL | gen_gated!();
| ^^^^^^^^^^^^^ could not find `E` in the list of imported crates
| ^^^^^^^^^^^^ could not find `E` in the list of imported crates
|
= note: this error originates in the macro `gen_gated` (in Nightly builds, run with -Z macro-backtrace for more info)

View file

@ -5,7 +5,7 @@ LL | macro_rules! one_arg_macro {
| -------------------------- when calling this macro
...
LL | one_arg_macro!(/**/);
| ^^^^^^^^^^^^^^^^^^^^^ missing tokens in macro arguments
| ^^^^^^^^^^^^^^^^^^^^ missing tokens in macro arguments
error: aborting due to previous error

View file

@ -2,13 +2,13 @@ error[E0660]: malformed inline assembly
--> $DIR/E0660.rs:6:5
|
LL | llvm_asm!("nop" "nop");
| ^^^^^^^^^^^^^^^^^^^^^^^
| ^^^^^^^^^^^^^^^^^^^^^^
error[E0660]: malformed inline assembly
--> $DIR/E0660.rs:8:5
|
LL | llvm_asm!("nop" "nop" : "=r"(a));
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: aborting due to 2 previous errors

View file

@ -7,7 +7,7 @@ LL | if let $p = $e $b
LL | / foo!(a, 1, {
LL | | println!("irrefutable pattern");
LL | | });
| |_______- in this macro invocation
| |______- in this macro invocation
|
= note: `#[warn(irrefutable_let_patterns)]` on by default
= note: this pattern will always match, so the `if let` is useless
@ -23,7 +23,7 @@ LL | if let $p = $e $b
LL | / bar!(a, 1, {
LL | | println!("irrefutable pattern");
LL | | });
| |_______- in this macro invocation
| |______- in this macro invocation
|
= note: this pattern will always match, so the `if let` is useless
= help: consider replacing the `if let` with a `let`

View file

@ -2,7 +2,7 @@ error: env! takes 1 or 2 arguments
--> $DIR/extenv-no-args.rs:1:13
|
LL | fn main() { env!(); }
| ^^^^^^^
| ^^^^^^
error: aborting due to previous error

View file

@ -2,7 +2,7 @@ error: my error message
--> $DIR/extenv-not-defined-custom.rs:1:13
|
LL | fn main() { env!("__HOPEFULLY_NOT_DEFINED__", "my error message"); }
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= note: this error originates in the macro `env` (in Nightly builds, run with -Z macro-backtrace for more info)

View file

@ -2,7 +2,7 @@ error: environment variable `__HOPEFULLY_NOT_DEFINED__` not defined
--> $DIR/extenv-not-defined-default.rs:2:5
|
LL | env!("__HOPEFULLY_NOT_DEFINED__");
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= note: this error originates in the macro `env` (in Nightly builds, run with -Z macro-backtrace for more info)

View file

@ -2,7 +2,7 @@ error: env! takes 1 or 2 arguments
--> $DIR/extenv-too-many-args.rs:1:13
|
LL | fn main() { env!("one", "two", "three"); }
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: aborting due to previous error

View file

@ -2,7 +2,7 @@ error: option_env! takes 1 argument
--> $DIR/extoption_env-no-args.rs:1:13
|
LL | fn main() { option_env!(); }
| ^^^^^^^^^^^^^^
| ^^^^^^^^^^^^^
error: aborting due to previous error

View file

@ -2,7 +2,7 @@ error: option_env! takes 1 argument
--> $DIR/extoption_env-too-many-args.rs:1:13
|
LL | fn main() { option_env!("one", "two"); }
| ^^^^^^^^^^^^^^^^^^^^^^^^^^
| ^^^^^^^^^^^^^^^^^^^^^^^^^
error: aborting due to previous error

View file

@ -5,7 +5,7 @@ LL | #[allow_internal_unsafe]
| ^^^^^^^^^^^^^^^^^^^^^^^^
...
LL | bar!();
| ------- in this macro invocation
| ------ in this macro invocation
|
= help: add `#![feature(allow_internal_unsafe)]` to the crate attributes to enable
= note: this error originates in the macro `bar` (in Nightly builds, run with -Z macro-backtrace for more info)

View file

@ -5,7 +5,7 @@ LL | #[allow_internal_unstable()]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...
LL | bar!();
| ------- in this macro invocation
| ------ in this macro invocation
|
= help: add `#![feature(allow_internal_unstable)]` to the crate attributes to enable
= note: this error originates in the macro `bar` (in Nightly builds, run with -Z macro-backtrace for more info)

View file

@ -11,7 +11,7 @@ error[E0425]: cannot find value `ab` in this scope
--> $DIR/feature-gate-concat_idents2.rs:2:5
|
LL | concat_idents!(a, b);
| ^^^^^^^^^^^^^^^^^^^^^ not found in this scope
| ^^^^^^^^^^^^^^^^^^^^ not found in this scope
|
= note: this error originates in the macro `concat_idents` (in Nightly builds, run with -Z macro-backtrace for more info)

View file

@ -2,7 +2,7 @@ error[E0658]: use of unstable library feature 'thread_local_const_init'
--> $DIR/thread-local-const-init.rs:1:1
|
LL | thread_local!(static X: u32 = const { 0 });
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= note: see issue #84223 <https://github.com/rust-lang/rust/issues/84223> for more information
= help: add `#![feature(thread_local_const_init)]` to the crate attributes to enable

View file

@ -11,7 +11,7 @@ error: trace_macros! accepts only `true` or `false`
--> $DIR/trace_macros-gate.rs:4:5
|
LL | trace_macros!();
| ^^^^^^^^^^^^^^^^
| ^^^^^^^^^^^^^^^
error[E0658]: use of unstable library feature 'trace_macros': `trace_macros` is not stable enough for use and is subject to change
--> $DIR/trace_macros-gate.rs:6:5
@ -38,7 +38,7 @@ LL | ($x: ident) => { trace_macros!($x) }
| ^^^^^^^^^^^^
...
LL | expando!(true);
| --------------- in this macro invocation
| -------------- in this macro invocation
|
= note: see issue #29598 <https://github.com/rust-lang/rust/issues/29598> for more information
= help: add `#![feature(trace_macros)]` to the crate attributes to enable

View file

@ -2,7 +2,7 @@ error: requires at least a format string argument
--> $DIR/ifmt-bad-format-args.rs:2:5
|
LL | format_args!();
| ^^^^^^^^^^^^^^^
| ^^^^^^^^^^^^^^
|
= note: this error originates in the macro `format_args` (in Nightly builds, run with -Z macro-backtrace for more info)

View file

@ -29,7 +29,7 @@ LL | let ...$e;
| ^^^ help: use `..=` instead
...
LL | mac!(0);
| -------- in this macro invocation
| ------- in this macro invocation
|
= note: this error originates in the macro `mac` (in Nightly builds, run with -Z macro-backtrace for more info)

View file

@ -37,7 +37,7 @@ LL | let $e...;
| ^^^ help: use `..` instead
...
LL | mac!(0);
| -------- in this macro invocation
| ------- in this macro invocation
|
= note: inclusive ranges must be bounded at the end (`..=b` or `a..=b`)
= note: this error originates in the macro `mac` (in Nightly builds, run with -Z macro-backtrace for more info)
@ -49,7 +49,7 @@ LL | let $e..=;
| ^^^ help: use `..` instead
...
LL | mac!(0);
| -------- in this macro invocation
| ------- in this macro invocation
|
= note: inclusive ranges must be bounded at the end (`..=b` or `a..=b`)
= note: this error originates in the macro `mac` (in Nightly builds, run with -Z macro-backtrace for more info)

View file

@ -8,7 +8,7 @@ LL | fn method() {}
| not a member of trait `Tr`
...
LL | mac_trait_impl!();
| ------------------ in this macro invocation
| ----------------- in this macro invocation
|
= note: this error originates in the macro `mac_trait_impl` (in Nightly builds, run with -Z macro-backtrace for more info)
@ -22,7 +22,7 @@ LL | impl Tr for u8 {
| ^^^^^^^^^^^^^^ missing `method` in implementation
...
LL | mac_trait_impl!();
| ------------------ in this macro invocation
| ----------------- in this macro invocation
|
= note: this error originates in the macro `mac_trait_impl` (in Nightly builds, run with -Z macro-backtrace for more info)

View file

@ -5,7 +5,7 @@ LL | fn g<$a, 'a>() {}
| ^^ declared twice
...
LL | m!('a);
| -------
| ------
| | |
| | previous declaration here
| in this macro invocation
@ -19,7 +19,7 @@ LL | fn h<$a, 'a>() {}
| ^^ declared twice
...
LL | n!('a);
| -------
| ------
| | |
| | previous declaration here
| in this macro invocation

View file

@ -14,7 +14,7 @@ LL | use my_core;
| ^^^^^^^ no `my_core` in the root
...
LL | a!();
| ----- in this macro invocation
| ---- in this macro invocation
|
= note: this error originates in the macro `a` (in Nightly builds, run with -Z macro-backtrace for more info)
@ -25,7 +25,7 @@ LL | fn f() { my_core::mem::drop(0); }
| ^^^^^^^ use of undeclared crate or module `my_core`
...
LL | a!();
| ----- in this macro invocation
| ---- in this macro invocation
|
= note: this error originates in the macro `a` (in Nightly builds, run with -Z macro-backtrace for more info)

View file

@ -7,7 +7,7 @@ LL | $a: u8,
| ^^^^^^ field already declared
...
LL | legacy!(a);
| ----------- in this macro invocation
| ---------- in this macro invocation
|
= note: this error originates in the macro `legacy` (in Nightly builds, run with -Z macro-backtrace for more info)

View file

@ -17,7 +17,7 @@ LL | type A = FromOutside;
| ^^^^^^^^^^^ not found in this scope
...
LL | genmod_transparent!();
| ---------------------- in this macro invocation
| --------------------- in this macro invocation
|
= note: this error originates in the macro `genmod_transparent` (in Nightly builds, run with -Z macro-backtrace for more info)
@ -28,7 +28,7 @@ LL | type Inner = Outer;
| ^^^^^ not found in this scope
...
LL | genmod_transparent!();
| ---------------------- in this macro invocation
| --------------------- in this macro invocation
|
= note: this error originates in the macro `genmod_transparent` (in Nightly builds, run with -Z macro-backtrace for more info)
@ -39,7 +39,7 @@ LL | type A = FromOutside;
| ^^^^^^^^^^^ not found in this scope
...
LL | genmod_legacy!();
| ----------------- in this macro invocation
| ---------------- in this macro invocation
|
= note: this error originates in the macro `genmod_legacy` (in Nightly builds, run with -Z macro-backtrace for more info)
@ -50,7 +50,7 @@ LL | type Inner = Outer;
| ^^^^^ not found in this scope
...
LL | genmod_legacy!();
| ----------------- in this macro invocation
| ---------------- in this macro invocation
|
= note: this error originates in the macro `genmod_legacy` (in Nightly builds, run with -Z macro-backtrace for more info)

View file

@ -32,7 +32,7 @@ error[E0425]: cannot find function `f` in this scope
--> $DIR/globs.rs:61:12
|
LL | n!(f);
| ------ in this macro invocation
| ----- in this macro invocation
...
LL | n!(f);
| ^ not found in this scope
@ -45,7 +45,7 @@ error[E0425]: cannot find function `f` in this scope
--> $DIR/globs.rs:65:17
|
LL | n!(f);
| ------ in this macro invocation
| ----- in this macro invocation
...
LL | f
| ^ not found in this scope

View file

@ -5,7 +5,7 @@ LL | () => { break 'x; }
| ^^ undeclared label `'x`
...
LL | 'x: loop { foo!(); }
| ------- in this macro invocation
| ------ in this macro invocation
|
= note: this error originates in the macro `foo` (in Nightly builds, run with -Z macro-backtrace for more info)

View file

@ -5,7 +5,7 @@ LL | () => { break 'x; }
| ^^ undeclared label `'x`
...
LL | foo!();
| ------- in this macro invocation
| ------ in this macro invocation
|
= note: this error originates in the macro `foo` (in Nightly builds, run with -Z macro-backtrace for more info)

View file

@ -8,7 +8,7 @@ LL | 'x: loop {
| -- first declared here
LL | // this 'x should refer to the outer loop, lexically
LL | loop_x!(break 'x);
| ------------------ in this macro invocation
| ----------------- in this macro invocation
|
= note: this warning originates in the macro `loop_x` (in Nightly builds, run with -Z macro-backtrace for more info)
@ -40,7 +40,7 @@ LL | 'x: loop {
| -- first declared here
...
LL | loop_x!(break 'x);
| ------------------ in this macro invocation
| ----------------- in this macro invocation
|
= note: this warning originates in the macro `loop_x` (in Nightly builds, run with -Z macro-backtrace for more info)
@ -54,7 +54,7 @@ LL | 'x: loop { $e }
| label `'x` already in scope
...
LL | loop_x!(break 'x);
| ------------------ in this macro invocation
| ----------------- in this macro invocation
|
= note: this warning originates in the macro `loop_x` (in Nightly builds, run with -Z macro-backtrace for more info)
@ -68,7 +68,7 @@ LL | 'x: for _ in 0..1 {
| -- first declared here
...
LL | loop_x!(break 'x);
| ------------------ in this macro invocation
| ----------------- in this macro invocation
|
= note: this warning originates in the macro `loop_x` (in Nightly builds, run with -Z macro-backtrace for more info)
@ -118,7 +118,7 @@ LL | 'x: loop {
| -- first declared here
...
LL | while_true!(break 'x);
| ---------------------- in this macro invocation
| --------------------- in this macro invocation
|
= note: this warning originates in the macro `while_true` (in Nightly builds, run with -Z macro-backtrace for more info)
@ -132,7 +132,7 @@ LL | 'x: while 1 + 1 == 2 { $e }
| ^^ label `'x` already in scope
...
LL | while_true!(break 'x);
| ---------------------- in this macro invocation
| --------------------- in this macro invocation
|
= note: this warning originates in the macro `while_true` (in Nightly builds, run with -Z macro-backtrace for more info)
@ -146,7 +146,7 @@ LL | 'x: for _ in 0..1 {
| -- first declared here
...
LL | while_true!(break 'x);
| ---------------------- in this macro invocation
| --------------------- in this macro invocation
|
= note: this warning originates in the macro `while_true` (in Nightly builds, run with -Z macro-backtrace for more info)
@ -160,7 +160,7 @@ LL | 'x: while 1 + 1 == 2 { $e }
| ^^ label `'x` already in scope
...
LL | while_true!(break 'x);
| ---------------------- in this macro invocation
| --------------------- in this macro invocation
|
= note: this warning originates in the macro `while_true` (in Nightly builds, run with -Z macro-backtrace for more info)
@ -174,7 +174,7 @@ LL | 'x: for _ in 0..1 {
| -- first declared here
...
LL | while_true!(break 'x);
| ---------------------- in this macro invocation
| --------------------- in this macro invocation
|
= note: this warning originates in the macro `while_true` (in Nightly builds, run with -Z macro-backtrace for more info)
@ -242,7 +242,7 @@ LL | 'x: loop {
| -- first declared here
...
LL | run_once!(continue 'x);
| ----------------------- in this macro invocation
| ---------------------- in this macro invocation
|
= note: this warning originates in the macro `run_once` (in Nightly builds, run with -Z macro-backtrace for more info)
@ -256,7 +256,7 @@ LL | 'x: for _ in 0..1 { $e }
| ^^ label `'x` already in scope
...
LL | run_once!(continue 'x);
| ----------------------- in this macro invocation
| ---------------------- in this macro invocation
|
= note: this warning originates in the macro `run_once` (in Nightly builds, run with -Z macro-backtrace for more info)
@ -270,7 +270,7 @@ LL | 'x: for _ in 0..1 {
| -- first declared here
...
LL | run_once!(continue 'x);
| ----------------------- in this macro invocation
| ---------------------- in this macro invocation
|
= note: this warning originates in the macro `run_once` (in Nightly builds, run with -Z macro-backtrace for more info)
@ -284,7 +284,7 @@ LL | 'x: for _ in 0..1 { $e }
| ^^ label `'x` already in scope
...
LL | run_once!(continue 'x);
| ----------------------- in this macro invocation
| ---------------------- in this macro invocation
|
= note: this warning originates in the macro `run_once` (in Nightly builds, run with -Z macro-backtrace for more info)
@ -298,7 +298,7 @@ LL | 'x: for _ in 0..1 {
| -- first declared here
...
LL | run_once!(continue 'x);
| ----------------------- in this macro invocation
| ---------------------- in this macro invocation
|
= note: this warning originates in the macro `run_once` (in Nightly builds, run with -Z macro-backtrace for more info)
@ -312,7 +312,7 @@ LL | 'x: for _ in 0..1 { $e }
| ^^ label `'x` already in scope
...
LL | run_once!(continue 'x);
| ----------------------- in this macro invocation
| ---------------------- in this macro invocation
|
= note: this warning originates in the macro `run_once` (in Nightly builds, run with -Z macro-backtrace for more info)
@ -326,7 +326,7 @@ LL | 'x: for _ in 0..1 {
| -- first declared here
...
LL | run_once!(continue 'x);
| ----------------------- in this macro invocation
| ---------------------- in this macro invocation
|
= note: this warning originates in the macro `run_once` (in Nightly builds, run with -Z macro-backtrace for more info)

View file

@ -8,7 +8,7 @@ LL | 'x: for _ in 0..1 {
| -- first declared here
LL | // this 'x should refer to the outer loop, lexically
LL | loop_x!(break 'x);
| ------------------ in this macro invocation
| ----------------- in this macro invocation
|
= note: this warning originates in the macro `loop_x` (in Nightly builds, run with -Z macro-backtrace for more info)
@ -40,7 +40,7 @@ LL | 'x: for _ in 0..1 {
| -- first declared here
...
LL | loop_x!(break 'x);
| ------------------ in this macro invocation
| ----------------- in this macro invocation
|
= note: this warning originates in the macro `loop_x` (in Nightly builds, run with -Z macro-backtrace for more info)
@ -54,7 +54,7 @@ LL | 'x: loop { $e }
| label `'x` already in scope
...
LL | loop_x!(break 'x);
| ------------------ in this macro invocation
| ----------------- in this macro invocation
|
= note: this warning originates in the macro `loop_x` (in Nightly builds, run with -Z macro-backtrace for more info)
@ -68,7 +68,7 @@ LL | 'x: loop {
| -- first declared here
...
LL | loop_x!(break 'x);
| ------------------ in this macro invocation
| ----------------- in this macro invocation
|
= note: this warning originates in the macro `loop_x` (in Nightly builds, run with -Z macro-backtrace for more info)
@ -118,7 +118,7 @@ LL | 'x: for _ in 0..1 {
| -- first declared here
...
LL | while_x!(break 'x);
| ------------------- in this macro invocation
| ------------------ in this macro invocation
|
= note: this warning originates in the macro `while_x` (in Nightly builds, run with -Z macro-backtrace for more info)
@ -132,7 +132,7 @@ LL | 'x: while 1 + 1 == 2 { $e }
| ^^ label `'x` already in scope
...
LL | while_x!(break 'x);
| ------------------- in this macro invocation
| ------------------ in this macro invocation
|
= note: this warning originates in the macro `while_x` (in Nightly builds, run with -Z macro-backtrace for more info)
@ -146,7 +146,7 @@ LL | 'x: loop {
| -- first declared here
...
LL | while_x!(break 'x);
| ------------------- in this macro invocation
| ------------------ in this macro invocation
|
= note: this warning originates in the macro `while_x` (in Nightly builds, run with -Z macro-backtrace for more info)
@ -160,7 +160,7 @@ LL | 'x: while 1 + 1 == 2 { $e }
| ^^ label `'x` already in scope
...
LL | while_x!(break 'x);
| ------------------- in this macro invocation
| ------------------ in this macro invocation
|
= note: this warning originates in the macro `while_x` (in Nightly builds, run with -Z macro-backtrace for more info)
@ -174,7 +174,7 @@ LL | 'x: while 1 + 1 == 2 {
| -- first declared here
...
LL | while_x!(break 'x);
| ------------------- in this macro invocation
| ------------------ in this macro invocation
|
= note: this warning originates in the macro `while_x` (in Nightly builds, run with -Z macro-backtrace for more info)
@ -242,7 +242,7 @@ LL | 'x: for _ in 0..1 {
| -- first declared here
...
LL | run_once!(continue 'x);
| ----------------------- in this macro invocation
| ---------------------- in this macro invocation
|
= note: this warning originates in the macro `run_once` (in Nightly builds, run with -Z macro-backtrace for more info)
@ -256,7 +256,7 @@ LL | 'x: for _ in 0..1 { $e }
| ^^ label `'x` already in scope
...
LL | run_once!(continue 'x);
| ----------------------- in this macro invocation
| ---------------------- in this macro invocation
|
= note: this warning originates in the macro `run_once` (in Nightly builds, run with -Z macro-backtrace for more info)
@ -270,7 +270,7 @@ LL | 'x: loop {
| -- first declared here
...
LL | run_once!(continue 'x);
| ----------------------- in this macro invocation
| ---------------------- in this macro invocation
|
= note: this warning originates in the macro `run_once` (in Nightly builds, run with -Z macro-backtrace for more info)
@ -284,7 +284,7 @@ LL | 'x: for _ in 0..1 { $e }
| ^^ label `'x` already in scope
...
LL | run_once!(continue 'x);
| ----------------------- in this macro invocation
| ---------------------- in this macro invocation
|
= note: this warning originates in the macro `run_once` (in Nightly builds, run with -Z macro-backtrace for more info)
@ -298,7 +298,7 @@ LL | 'x: while 1 + 1 == 2 {
| -- first declared here
...
LL | run_once!(continue 'x);
| ----------------------- in this macro invocation
| ---------------------- in this macro invocation
|
= note: this warning originates in the macro `run_once` (in Nightly builds, run with -Z macro-backtrace for more info)
@ -312,7 +312,7 @@ LL | 'x: while 1 + 1 == 2 { $e }
| -- first declared here
...
LL | run_once!(continue 'x);
| ----------------------- in this macro invocation
| ---------------------- in this macro invocation
|
= note: this warning originates in the macro `run_once` (in Nightly builds, run with -Z macro-backtrace for more info)
@ -326,7 +326,7 @@ LL | 'x: for _ in 0..1 {
| -- first declared here
...
LL | run_once!(continue 'x);
| ----------------------- in this macro invocation
| ---------------------- in this macro invocation
|
= note: this warning originates in the macro `run_once` (in Nightly builds, run with -Z macro-backtrace for more info)

View file

@ -5,7 +5,7 @@ LL | let _: () = S.f();
| ^ private type
...
LL | foo::m!();
| ---------- in this macro invocation
| --------- in this macro invocation
|
= note: this error originates in the macro `foo::m` (in Nightly builds, run with -Z macro-backtrace for more info)

View file

@ -6,7 +6,7 @@ LL | self.bar();
...
LL | / pub fn foo(&self) {
LL | | call_bar!();
| | ------------ in this macro invocation
| | ----------- in this macro invocation
LL | | }
| |_____- this function has a `self` parameter, but a macro invocation can only access identifiers it receives from parameters
|

View file

@ -2,7 +2,7 @@ error[E0433]: failed to resolve: use of undeclared type `Vec`
--> $DIR/no_implicit_prelude.rs:11:9
|
LL | fn f() { ::bar::m!(); }
| ------------ in this macro invocation
| ----------- in this macro invocation
...
LL | Vec::new();
| ^^^ not found in this scope
@ -17,7 +17,7 @@ error[E0599]: no method named `clone` found for unit type `()` in the current sc
--> $DIR/no_implicit_prelude.rs:12:12
|
LL | fn f() { ::bar::m!(); }
| ------------ in this macro invocation
| ----------- in this macro invocation
...
LL | ().clone()
| ^^^^^ method not found in `()`

View file

@ -5,7 +5,7 @@ LL | use f as g;
| ^^^^^^
...
LL | foo::m!();
| ---------- in this macro invocation
| --------- in this macro invocation
|
note: consider marking `f` as `pub` in the imported module
--> $DIR/privacy-early.rs:10:13
@ -14,7 +14,7 @@ LL | use f as g;
| ^^^^^^
...
LL | foo::m!();
| ---------- in this macro invocation
| --------- in this macro invocation
= note: this error originates in the macro `foo::m` (in Nightly builds, run with -Z macro-backtrace for more info)
error: aborting due to previous error

View file

@ -5,7 +5,7 @@ LL | fn f(&self) {}
| - the method is available for `()` here
...
LL | fn f() { ::baz::m!(); }
| ------------ in this macro invocation
| ----------- in this macro invocation
...
LL | pub macro m() { ().f() }
| ^ method not found in `()`

View file

@ -5,7 +5,7 @@ LL | extern crate std as non_existent;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...
LL | define_std_as_non_existent!();
| ------------------------------ in this macro invocation
| ----------------------------- in this macro invocation
|
= note: this error originates in the macro `define_std_as_non_existent` (in Nightly builds, run with -Z macro-backtrace for more info)

View file

@ -5,7 +5,7 @@ LL | extern crate std as core;
| ^^^^^^^^^^^^^^^^^^^^^^^^^
...
LL | define_other_core!();
| --------------------- in this macro invocation
| -------------------- in this macro invocation
|
= note: this error originates in the macro `define_other_core` (in Nightly builds, run with -Z macro-backtrace for more info)
@ -22,7 +22,7 @@ LL | extern crate std as Vec;
| ^^^^^^^^^^^^^^^^^^^^^^^^
...
LL | define_vec!();
| -------------- in this macro invocation
| ------------- in this macro invocation
note: `Vec` could also refer to the struct defined here
--> $SRC_DIR/std/src/prelude/mod.rs:LL:COL
|

View file

@ -2,7 +2,7 @@ error: `$crate` may not be imported
--> $DIR/import-crate-var.rs:6:5
|
LL | m!();
| ^^^^^
| ^^^^
|
= note: this error originates in the macro `m` (in Nightly builds, run with -Z macro-backtrace for more info)

View file

@ -13,7 +13,7 @@ LL | | }
| |_____^
...
LL | define_exported!();
| ------------------- in this macro invocation
| ------------------ in this macro invocation
note: `exported` could also refer to the macro imported here
--> $DIR/local-modularized-tricky-fail-1.rs:22:5
|
@ -37,7 +37,7 @@ LL | | }
| |_____^
...
LL | define_exported!();
| ------------------- in this macro invocation
| ------------------ in this macro invocation
note: `exported` could also refer to the macro imported here
--> $DIR/local-modularized-tricky-fail-1.rs:22:5
|
@ -62,7 +62,7 @@ LL | | }
| |_____^
...
LL | define_panic!();
| ---------------- in this macro invocation
| --------------- in this macro invocation
= help: use `crate::panic` to refer to this macro unambiguously
= note: this error originates in the macro `define_panic` (in Nightly builds, run with -Z macro-backtrace for more info)
@ -82,7 +82,7 @@ LL | | }
| |_____^
...
LL | define_include!();
| ------------------ in this macro invocation
| ----------------- in this macro invocation
= help: use `crate::include` to refer to this macro unambiguously
= note: this error originates in the macro `define_include` (in Nightly builds, run with -Z macro-backtrace for more info)

View file

@ -16,7 +16,7 @@ LL | | }
| |_____^
...
LL | define_exported!();
| ------------------- in this macro invocation
| ------------------ in this macro invocation
= note: this error originates in the macro `define_exported` (in Nightly builds, run with -Z macro-backtrace for more info)
error: macro-expanded `macro_export` macros from the current crate cannot be referred to by absolute paths
@ -36,7 +36,7 @@ LL | | }
| |_____^
...
LL | define_exported!();
| ------------------- in this macro invocation
| ------------------ in this macro invocation
= note: this error originates in the macro `define_exported` (in Nightly builds, run with -Z macro-backtrace for more info)
error: aborting due to 2 previous errors

View file

@ -27,7 +27,7 @@ LL | macro_rules! panic { () => {} }
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
LL | } }
LL | m!();
| ----- in this macro invocation
| ---- in this macro invocation
= note: this error originates in the macro `m` (in Nightly builds, run with -Z macro-backtrace for more info)
error[E0659]: `n` is ambiguous (glob import vs any other name from outer scope during import/macro resolution)

View file

@ -35,7 +35,7 @@ LL | fn $fn_name(gift: &str) -> $type_name {
| ^^^^^^^^^^- help: indicate the anonymous lifetime: `<'_>`
...
LL | autowrapper!(Autowrapped, autowrap_gift, 'a);
| --------------------------------------------- in this macro invocation
| -------------------------------------------- in this macro invocation
|
= note: this error originates in the macro `autowrapper` (in Nightly builds, run with -Z macro-backtrace for more info)

View file

@ -56,7 +56,7 @@ error[E0308]: mismatched types
--> $DIR/deref-suggestion.rs:36:5
|
LL | assert_eq!(3i32, &3i32);
| ^^^^^^^^^^^^^^^^^^^^^^^^ expected `i32`, found `&i32`
| ^^^^^^^^^^^^^^^^^^^^^^^ expected `i32`, found `&i32`
|
= note: this error originates in the macro `assert_eq` (in Nightly builds, run with -Z macro-backtrace for more info)

View file

@ -2,7 +2,7 @@ error[E0658]: use of unstable library feature 'function'
--> $DIR/internal-unstable-noallow.rs:16:5
|
LL | call_unstable_noallow!();
| ^^^^^^^^^^^^^^^^^^^^^^^^^
| ^^^^^^^^^^^^^^^^^^^^^^^^
|
= help: add `#![feature(function)]` to the crate attributes to enable
= note: this error originates in the macro `call_unstable_noallow` (in Nightly builds, run with -Z macro-backtrace for more info)
@ -11,7 +11,7 @@ error[E0658]: use of unstable library feature 'struct_field'
--> $DIR/internal-unstable-noallow.rs:18:5
|
LL | construct_unstable_noallow!(0);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= help: add `#![feature(struct_field)]` to the crate attributes to enable
= note: this error originates in the macro `construct_unstable_noallow` (in Nightly builds, run with -Z macro-backtrace for more info)

View file

@ -37,7 +37,7 @@ LL | internal_unstable::unstable();
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^
...
LL | bar!(internal_unstable::unstable());
| ------------------------------------ in this macro invocation
| ----------------------------------- in this macro invocation
|
= help: add `#![feature(function)]` to the crate attributes to enable
= note: this error originates in the macro `foo` (in Nightly builds, run with -Z macro-backtrace for more info)

View file

@ -2,7 +2,7 @@ error[E0600]: cannot apply unary operator `!` to type `BytePos`
--> $DIR/issue-14091-2.rs:15:5
|
LL | assert!(x, x);
| ^^^^^^^^^^^^^^ cannot apply unary operator `!`
| ^^^^^^^^^^^^^ cannot apply unary operator `!`
|
note: an implementation of `Not` might be missing for `BytePos`
--> $DIR/issue-14091-2.rs:6:1

View file

@ -2,7 +2,7 @@ error[E0308]: mismatched types
--> $DIR/issue-14091.rs:2:5
|
LL | assert!(1,1);
| ^^^^^^^^^^^^^ expected `bool`, found integer
| ^^^^^^^^^^^^ expected `bool`, found integer
error: aborting due to previous error

View file

@ -2,7 +2,7 @@ error[E0283]: type annotations needed
--> $DIR/issue-16966.rs:2:5
|
LL | panic!(std::default::Default::default());
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type for type parameter `M` declared on the function `begin_panic`
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type for type parameter `M` declared on the function `begin_panic`
|
= note: cannot satisfy `_: Any`
note: required by a bound in `begin_panic`

View file

@ -2,7 +2,7 @@ error[E0596]: cannot borrow data in a `&` reference as mutable
--> $DIR/issue-19163.rs:9:5
|
LL | mywrite!(&v, "Hello world");
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot borrow as mutable
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot borrow as mutable
|
= note: this error originates in the macro `mywrite` (in Nightly builds, run with -Z macro-backtrace for more info)

View file

@ -2,7 +2,7 @@ error: unreachable statement
--> $DIR/issue-2150.rs:8:5
|
LL | panic!();
| --------- any code following this expression is unreachable
| -------- any code following this expression is unreachable
LL | for x in &v { i += 1; }
| ^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement
|

View file

@ -5,7 +5,7 @@ LL | ($e:expr) => { $e.foo() }
| ^^^ method not found in `i32`
...
LL | foo!(a);
| -------- in this macro invocation
| ------- in this macro invocation
|
= note: this error originates in the macro `foo` (in Nightly builds, run with -Z macro-backtrace for more info)

View file

@ -5,7 +5,7 @@ LL | $thing = 42;
| ^
...
LL | not_a_place!(99);
| -----------------
| ----------------
| | |
| | cannot assign to this expression
| in this macro invocation
@ -19,7 +19,7 @@ LL | $thing += 42;
| ^^
...
LL | not_a_place!(99);
| -----------------
| ----------------
| | |
| | cannot assign to this expression
| in this macro invocation

Some files were not shown because too many files have changed in this diff Show more