use auto_enums::auto_enum;
#[auto_enum(Iterator, marker = foo)]
fn a(x: usize) -> impl Iterator<Item = i32> {
#[auto_enum(Iterator, marker = foo)]
let _iter = match x {
0 => 1..8,
1 => return foo!(1..9),
_ => (0..2).map(|x| x + 1),
};
match x {
0 => 1..8,
_ => (0..2).map(|x| x + 1),
}
}
#[auto_enum(Iterator, marker = foo)]
fn b(x: usize) -> impl Iterator<Item = i32> {
#[auto_enum(Iterator, marker = bar)]
let _iter = match x {
0 => 1..8,
1 => return foo!(1..9), 2 => return marker!(1..9), _ => (0..2).map(|x| x + 1),
};
match x {
0 => 1..8,
_ => (0..2).map(|x| x + 1),
}
}
fn main() {}