Skip to content

Commit b9ae3db

Browse files
committed
RFC3239: Add tests for compact cfg(target(..))
1 parent 8345571 commit b9ae3db

9 files changed

+152
-0
lines changed

Diff for: src/test/ui/cfg/cfg-target-compact-errors.rs

+17
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
// check-fail
2+
3+
#![feature(cfg_target_compact)]
4+
5+
#[cfg(target(o::o))]
6+
//~^ ERROR `cfg` predicate key must be an identifier
7+
fn one() {}
8+
9+
#[cfg(target(os = 8))]
10+
//~^ ERROR literal in `cfg` predicate value must be a string
11+
fn two() {}
12+
13+
#[cfg(target(os = "linux", pointer(width = "64")))]
14+
//~^ ERROR invalid predicate `target_pointer`
15+
fn three() {}
16+
17+
fn main() {}

Diff for: src/test/ui/cfg/cfg-target-compact-errors.stderr

+22
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
error: `cfg` predicate key must be an identifier
2+
--> $DIR/cfg-target-compact-errors.rs:5:14
3+
|
4+
LL | #[cfg(target(o::o))]
5+
| ^^^^
6+
7+
error[E0565]: literal in `cfg` predicate value must be a string
8+
--> $DIR/cfg-target-compact-errors.rs:9:19
9+
|
10+
LL | #[cfg(target(os = 8))]
11+
| ^
12+
13+
error[E0537]: invalid predicate `target_pointer`
14+
--> $DIR/cfg-target-compact-errors.rs:13:28
15+
|
16+
LL | #[cfg(target(os = "linux", pointer(width = "64")))]
17+
| ^^^^^^^^^^^^^^^^^^^^^
18+
19+
error: aborting due to 3 previous errors
20+
21+
Some errors have detailed explanations: E0537, E0565.
22+
For more information about an error, try `rustc --explain E0537`.

Diff for: src/test/ui/cfg/cfg-target-compact.rs

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
// run-pass
2+
#![feature(cfg_target_compact)]
3+
4+
#[cfg(target(os = "linux", pointer_width = "64"))]
5+
pub fn main() {
6+
}
7+
8+
#[cfg(not(target(os = "linux", pointer_width = "64")))]
9+
pub fn main() {
10+
}

Diff for: src/test/ui/check-cfg/compact-names.rs

+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
// This test check that we correctly emit an warning for compact cfg
2+
//
3+
// check-pass
4+
// compile-flags:--check-cfg=names() -Z unstable-options
5+
6+
#![feature(cfg_target_compact)]
7+
8+
#[cfg(target(os = "linux", arch = "arm"))]
9+
pub fn expected() {}
10+
11+
#[cfg(target(os = "linux", architecture = "arm"))]
12+
//~^ WARNING unexpected `cfg` condition name
13+
pub fn unexpected() {}
14+
15+
fn main() {}

Diff for: src/test/ui/check-cfg/compact-names.stderr

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
warning: unexpected `cfg` condition name
2+
--> $DIR/compact-names.rs:11:28
3+
|
4+
LL | #[cfg(target(os = "linux", architecture = "arm"))]
5+
| ^^^^^^^^^^^^^^^^^^^^
6+
|
7+
= note: `#[warn(unexpected_cfgs)]` on by default
8+
9+
warning: 1 warning emitted
10+

Diff for: src/test/ui/check-cfg/compact-values.rs

+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
// This test check that we correctly emit an warning for compact cfg
2+
//
3+
// check-pass
4+
// compile-flags:--check-cfg=values() -Z unstable-options
5+
6+
#![feature(cfg_target_compact)]
7+
8+
#[cfg(target(os = "linux", arch = "arm"))]
9+
pub fn expected() {}
10+
11+
#[cfg(target(os = "linux", arch = "X"))]
12+
//~^ WARNING unexpected `cfg` condition value
13+
pub fn unexpected() {}
14+
15+
fn main() {}

Diff for: src/test/ui/check-cfg/compact-values.stderr

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
warning: unexpected `cfg` condition value
2+
--> $DIR/compact-values.rs:11:28
3+
|
4+
LL | #[cfg(target(os = "linux", arch = "X"))]
5+
| ^^^^^^^^^^
6+
|
7+
= note: `#[warn(unexpected_cfgs)]` on by default
8+
= note: expected values for `target_arch` are: aarch64, arm, avr, bpf, hexagon, m68k, mips, mips64, msp430, nvptx64, powerpc, powerpc64, riscv32, riscv64, s390x, sparc, sparc64, wasm32, wasm64, x86, x86_64
9+
10+
warning: 1 warning emitted
11+
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
#[cfg(target(os = "x"))] //~ ERROR compact `cfg(target(..))` is experimental
2+
struct Foo(u64, u64);
3+
4+
#[cfg_attr(target(os = "x"), x)] //~ ERROR compact `cfg(target(..))` is experimental
5+
struct Bar(u64, u64);
6+
7+
#[cfg(not(any(all(target(os = "x")))))] //~ ERROR compact `cfg(target(..))` is experimental
8+
fn foo() {}
9+
10+
fn main() {
11+
cfg!(target(os = "x"));
12+
//~^ ERROR compact `cfg(target(..))` is experimental and subject to change
13+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
error[E0658]: compact `cfg(target(..))` is experimental and subject to change
2+
--> $DIR/feature-gate-cfg-target-compact.rs:1:7
3+
|
4+
LL | #[cfg(target(os = "x"))]
5+
| ^^^^^^^^^^^^^^^^
6+
|
7+
= note: see issue #96901 <https://github.com/rust-lang/rust/issues/96901> for more information
8+
= help: add `#![feature(cfg_target_compact)]` to the crate attributes to enable
9+
10+
error[E0658]: compact `cfg(target(..))` is experimental and subject to change
11+
--> $DIR/feature-gate-cfg-target-compact.rs:4:12
12+
|
13+
LL | #[cfg_attr(target(os = "x"), x)]
14+
| ^^^^^^^^^^^^^^^^
15+
|
16+
= note: see issue #96901 <https://github.com/rust-lang/rust/issues/96901> for more information
17+
= help: add `#![feature(cfg_target_compact)]` to the crate attributes to enable
18+
19+
error[E0658]: compact `cfg(target(..))` is experimental and subject to change
20+
--> $DIR/feature-gate-cfg-target-compact.rs:7:19
21+
|
22+
LL | #[cfg(not(any(all(target(os = "x")))))]
23+
| ^^^^^^^^^^^^^^^^
24+
|
25+
= note: see issue #96901 <https://github.com/rust-lang/rust/issues/96901> for more information
26+
= help: add `#![feature(cfg_target_compact)]` to the crate attributes to enable
27+
28+
error[E0658]: compact `cfg(target(..))` is experimental and subject to change
29+
--> $DIR/feature-gate-cfg-target-compact.rs:11:10
30+
|
31+
LL | cfg!(target(os = "x"));
32+
| ^^^^^^^^^^^^^^^^
33+
|
34+
= note: see issue #96901 <https://github.com/rust-lang/rust/issues/96901> for more information
35+
= help: add `#![feature(cfg_target_compact)]` to the crate attributes to enable
36+
37+
error: aborting due to 4 previous errors
38+
39+
For more information about this error, try `rustc --explain E0658`.

0 commit comments

Comments
 (0)