rust/tests/ui/suggestions/issue-114701.rs

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

16 lines
463 B
Rust
Raw Normal View History

2023-08-15 10:58:33 +00:00
enum Enum<T> { SVariant { v: T }, UVariant }
macro_rules! is_variant {
(TSVariant, ) => (!);
(SVariant, ) => (!);
(UVariant, $expr:expr) => (is_variant!(@check UVariant, {}, $expr));
(@check $variant:ident, $matcher:tt, $expr:expr) => (
2023-08-15 10:58:33 +00:00
assert!(if let Enum::$variant::<()> $matcher = $expr () { true } else { false },
);
);
}
fn main() {
is_variant!(UVariant, Enum::<()>::UVariant); //~ ERROR expected function
}