]> git.lizzy.rs Git - rust.git/blob - src/test/ui/cfg/cfgs-on-items.rs
Rollup merge of #104024 - noeddl:unused-must-use, r=compiler-errors
[rust.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 }