rust/tests/ui/closures/2229_closure_analysis/migrations/closure-body-macro-fragment.fixed

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

34 lines
550 B
Rust
Raw Normal View History

// run-rustfix
// edition:2018
// check-pass
#![warn(rust_2021_compatibility)]
2021-09-21 03:05:11 -05:00
#[derive(Debug)]
struct Foo(i32);
impl Drop for Foo {
fn drop(&mut self) {
println!("{:?} dropped", self.0);
}
}
macro_rules! m {
(@ $body:expr) => {{
let f = || $body;
//~^ WARNING: drop order
f();
}};
($body:block) => {{
m!(@ $body);
}};
}
fn main() {
2021-09-21 03:05:11 -05:00
let a = (Foo(0), Foo(1));
m!({
let _ = &a;
//~^ HELP: add a dummy
let x = a.0;
2021-09-21 03:05:11 -05:00
println!("{:?}", x);
});
}