1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
//! Test that `$var:expr` captures function correctly. use expect_test::expect; use crate::macro_expansion_tests::check; #[test] fn unary_minus_is_a_literal() { check( r#" macro_rules! m { ($x:literal) => (literal!();); ($x:tt) => (not_a_literal!();); } m!(92); m!(-92); m!(-9.2); m!(--92); "#, expect![[r#" macro_rules! m { ($x:literal) => (literal!();); ($x:tt) => (not_a_literal!();); } literal!(); literal!(); literal!(); /* error: leftover tokens */not_a_literal!(); "#]], ) }