2 // compile-flags: --cfg fooA --cfg fooB
6 #[cfg(all(fooA, not(bar)))]
7 fn foo1() -> isize { 1 }
10 #[cfg(all(not(fooA), not(bar)))]
11 fn foo2() -> isize { 2 }
13 // fooC OR (fooB AND !bar)
14 #[cfg(any(fooC, all(fooB, not(bar))))]
15 fn foo2() -> isize { 3 }
18 #[cfg(all(fooA, bar))]
19 fn foo3() -> isize { 2 }
22 #[cfg(not(all(fooA, bar)))]
23 fn foo3() -> isize { 3 }
26 assert_eq!(1, foo1());
27 assert_eq!(3, foo2());
28 assert_eq!(3, foo3());