]> git.proxmox.com Git - rustc.git/blob - src/test/ui/cfg/cfgs-on-items.rs
New upstream version 1.38.0+dfsg1
[rustc.git] / src / test / ui / cfg / cfgs-on-items.rs
1 // run-pass
2 // compile-flags: --cfg fooA --cfg fooB
3
4 // fooA AND !bar
5
6 #[cfg(all(fooA, not(bar)))]
7 fn foo1() -> isize { 1 }
8
9 // !fooA AND !bar
10 #[cfg(all(not(fooA), not(bar)))]
11 fn foo2() -> isize { 2 }
12
13 // fooC OR (fooB AND !bar)
14 #[cfg(any(fooC, all(fooB, not(bar))))]
15 fn foo2() -> isize { 3 }
16
17 // fooA AND bar
18 #[cfg(all(fooA, bar))]
19 fn foo3() -> isize { 2 }
20
21 // !(fooA AND bar)
22 #[cfg(not(all(fooA, bar)))]
23 fn foo3() -> isize { 3 }
24
25 pub fn main() {
26 assert_eq!(1, foo1());
27 assert_eq!(3, foo2());
28 assert_eq!(3, foo3());
29 }