rust/tests/ui/macros/metavar_cross_edition_recursive_macros.rs
Eric Holk c7cd55f7c5 Stabilize expr_2021 fragment in all editions
Co-authored-by: Michael Goulet <michael@errs.io>
Co-authored-by: Vincenzo Palazzo <vincenzopalazzodev@gmail.com>
2024-10-01 07:51:58 +00:00

38 lines
1019 B
Rust

//@ compile-flags: --edition=2024 -Z unstable-options
//@ aux-build: metavar_2018.rs
//@ known-bug: #130484
//@ run-pass
// This test captures the behavior of macro-generating-macros with fragment
// specifiers across edition boundaries.
#![feature(macro_metavar_expr)]
#![allow(incomplete_features)]
extern crate metavar_2018;
use metavar_2018::{is_expr_from_2018, is_pat_from_2018, make_matcher};
make_matcher!(is_expr_from_2024, expr, $);
make_matcher!(is_pat_from_2024, pat, $);
fn main() {
// Check expr
let from_2018 = is_expr_from_2018!(const { 0 });
dbg!(from_2018);
let from_2024 = is_expr_from_2024!(const { 0 });
dbg!(from_2024);
assert!(!from_2018);
assert!(!from_2024); // from_2024 will be true once #130484 is fixed
// Check pat
let from_2018 = is_pat_from_2018!(A | B);
dbg!(from_2018);
let from_2024 = is_pat_from_2024!(A | B);
dbg!(from_2024);
assert!(!from_2018);
assert!(!from_2024); // from_2024 will be true once #130484 is fixed
}