Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- fn any_sorted_attr(item:&syn::ExprMatch)->bool{
- item.attrs
- .iter()
- .flat_map(syn::Attribute::parse_meta)
- .any(|meta| meta.name()=="sorted" )
- }
- #[test]
- fn found_any_sorted_attr(){
- let matches=vec![
- (false,"match () { ()=>() }"),
- (false,"#[nothing] match () { ()=>() }"),
- (true ,"#[sorted] match () { ()=>() }"),
- (true ,"#[nothing] #[sorted] match () { ()=>() }"),
- ];
- for (expected,expr) in matches{
- let parsed=syn::parse_str::<syn::Expr>(expr).expect(expr);
- let parsed=match parsed {
- syn::Expr::Match(v)=>v,
- _=>unreachable!(),
- };
- assert_eq!( expected, any_sorted_attr(&parsed) );
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement