--- /dev/null
+error[E0658]: macro dbg! is unstable (see issue #54306)
+ --> $DIR/dbg-macro-feature-gate.rs:4:5
+ |
+LL | dbg!(1);
+ | ^^^^^^^^
+ |
+ = help: add #![feature(dbg_macro)] to the crate attributes to enable
+
+error: aborting due to previous error
+
+For more information about this error, try `rustc --explain E0658`.
--- /dev/null
+error[E0382]: use of moved value: `a`
+ --> $DIR/dbg-macro-move-semantics.rs:11:18
+ |
+LL | let _ = dbg!(a);
+ | ------- value moved here
+LL | let _ = dbg!(a);
+ | ^ value used here after move
+ |
+ = note: move occurs because `a` has type `NoCopy`, which does not implement the `Copy` trait
+ = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info)
+
+error[E0382]: borrow of moved value: `a`
+ --> $DIR/dbg-macro-move-semantics.rs:11:18
+ |
+LL | let _ = dbg!(a);
+ | ------- value moved here
+LL | let _ = dbg!(a);
+ | ^ value borrowed here after move
+ |
+ = note: move occurs because `a` has type `NoCopy`, which does not implement the `Copy` trait
+ = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info)
+
+error[E0382]: use of moved value: `a`
+ --> $DIR/dbg-macro-move-semantics.rs:11:13
+ |
+LL | let _ = dbg!(a);
+ | ------- value moved here
+LL | let _ = dbg!(a);
+ | ^^^^^^^ value used here after move
+ |
+ = note: move occurs because `a` has type `NoCopy`, which does not implement the `Copy` trait
+ = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info)
+
+error: aborting due to 3 previous errors
+
+For more information about this error, try `rustc --explain E0382`.
--- /dev/null
+error[E0382]: use of moved value: `a`
+ --> $DIR/dbg-macro-move-semantics.rs:11:18
+ |
+LL | let _ = dbg!(a);
+ | ------- value moved here
+LL | let _ = dbg!(a);
+ | ^ value used here after move
+ |
+ = note: move occurs because `a` has type `NoCopy`, which does not implement the `Copy` trait
+ = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info)
+
+error[E0382]: use of moved value: `a`
+ --> $DIR/dbg-macro-move-semantics.rs:11:13
+ |
+LL | let _ = dbg!(a);
+ | ------- value moved here
+LL | let _ = dbg!(a);
+ | ^^^^^^^ value used here after move
+ |
+ = note: move occurs because `a` has type `NoCopy`, which does not implement the `Copy` trait
+ = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info)
+
+error: aborting due to 2 previous errors
+
+For more information about this error, try `rustc --explain E0382`.