rust/tests/source/pattern.rs

91 lines
2.0 KiB
Rust
Raw Normal View History

// rustfmt-normalize_comments: true
#![feature(exclusive_range_pattern)]
use core::u8::MAX;
2015-10-17 08:56:53 -05:00
fn main() {
let z = match x {
"pat1" => 1,
( ref x, ref mut y /*comment*/) => 2,
};
if let < T as Trait > :: CONST = ident {
do_smth();
}
let Some ( ref xyz /* comment! */) = opt;
if let None = opt2 { panic!("oh noes"); }
let foo@bar (f) = 42;
let a::foo ( ..) = 42;
let [ ] = 42;
let [a, b,c ] = 42;
let [ a,b,c ] = 42;
let [a, b, c, d,e,f, g] = 42;
let foo { } = 42;
let foo {..} = 42;
let foo { x, y: ref foo, .. } = 42;
let foo { x, yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy: ref foo, .. } = 42;
let foo { x, yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy: ref foo, } = 42;
let foo { x, yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy: ref foo, .. };
let foo { x, yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy: ref foo, };
match b"12" {
[0,
1..MAX
] => {}
_ => {}
}
2015-10-17 08:56:53 -05:00
}
impl<'a,'b> ResolveGeneratedContentFragmentMutator<'a,'b> {
fn mutate_fragment(&mut self, fragment: &mut Fragment) {
match **info {
GeneratedContentInfo::ContentItem(
ContentItem::Counter(
ref counter_name,
counter_style
)
) => {}}}
}
fn issue_1319() {
if let (Event { .. }, .. ) = ev_state {}
}
2017-08-12 01:59:35 -05:00
fn issue_1874() {
if let Some(()) = x {
y
}
}
fn combine_patterns() {
let x = match y {
Some(
Some(
Foo {
z: Bar(..),
a: Bar(..),
b: Bar(..),
},
),
) => z,
_ => return,
};
}
2018-08-12 09:55:34 -05:00
fn slice_patterns() {
match b"123" {
[0, ..] => {}
[0, foo] => {}
2018-08-12 09:55:34 -05:00
_ => {}
}
}
2019-08-05 21:09:45 -05:00
fn issue3728() {
let foo = |
(c,)
| c;
foo((1,));
}