#![feature(prelude_import)] #![no_std] #![feature(box_patterns)] extern crate std; #[prelude_import] use ::std::prelude::rust_2015::*; //@ pretty-compare-only //@ pretty-mode:expanded //@ pp-exact:or-pattern-paren.pp macro_rules! or_pat { ($($name:pat),+) => { $($name)|+ } } fn check_at(x: Option) { match x { Some(v @ (1 | 2 | 3)) => { ::std::io::_print(format_args!("{0}\n", v)); } _ => {} } } fn check_ref(x: &i32) { match x { &(1 | 2 | 3) => {} _ => {} } } fn check_box(x: Box) { match x { box (1 | 2 | 3) => {} _ => {} } } fn main() { check_at(Some(2)); check_ref(&1); check_box(Box::new(1)); }