RFC3239: Add tests for compact cfg(target(..))
This commit is contained in:
parent
8345571cd0
commit
b9ae3db4ac
17
src/test/ui/cfg/cfg-target-compact-errors.rs
Normal file
17
src/test/ui/cfg/cfg-target-compact-errors.rs
Normal file
@ -0,0 +1,17 @@
|
||||
// check-fail
|
||||
|
||||
#![feature(cfg_target_compact)]
|
||||
|
||||
#[cfg(target(o::o))]
|
||||
//~^ ERROR `cfg` predicate key must be an identifier
|
||||
fn one() {}
|
||||
|
||||
#[cfg(target(os = 8))]
|
||||
//~^ ERROR literal in `cfg` predicate value must be a string
|
||||
fn two() {}
|
||||
|
||||
#[cfg(target(os = "linux", pointer(width = "64")))]
|
||||
//~^ ERROR invalid predicate `target_pointer`
|
||||
fn three() {}
|
||||
|
||||
fn main() {}
|
22
src/test/ui/cfg/cfg-target-compact-errors.stderr
Normal file
22
src/test/ui/cfg/cfg-target-compact-errors.stderr
Normal file
@ -0,0 +1,22 @@
|
||||
error: `cfg` predicate key must be an identifier
|
||||
--> $DIR/cfg-target-compact-errors.rs:5:14
|
||||
|
|
||||
LL | #[cfg(target(o::o))]
|
||||
| ^^^^
|
||||
|
||||
error[E0565]: literal in `cfg` predicate value must be a string
|
||||
--> $DIR/cfg-target-compact-errors.rs:9:19
|
||||
|
|
||||
LL | #[cfg(target(os = 8))]
|
||||
| ^
|
||||
|
||||
error[E0537]: invalid predicate `target_pointer`
|
||||
--> $DIR/cfg-target-compact-errors.rs:13:28
|
||||
|
|
||||
LL | #[cfg(target(os = "linux", pointer(width = "64")))]
|
||||
| ^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: aborting due to 3 previous errors
|
||||
|
||||
Some errors have detailed explanations: E0537, E0565.
|
||||
For more information about an error, try `rustc --explain E0537`.
|
10
src/test/ui/cfg/cfg-target-compact.rs
Normal file
10
src/test/ui/cfg/cfg-target-compact.rs
Normal file
@ -0,0 +1,10 @@
|
||||
// run-pass
|
||||
#![feature(cfg_target_compact)]
|
||||
|
||||
#[cfg(target(os = "linux", pointer_width = "64"))]
|
||||
pub fn main() {
|
||||
}
|
||||
|
||||
#[cfg(not(target(os = "linux", pointer_width = "64")))]
|
||||
pub fn main() {
|
||||
}
|
15
src/test/ui/check-cfg/compact-names.rs
Normal file
15
src/test/ui/check-cfg/compact-names.rs
Normal file
@ -0,0 +1,15 @@
|
||||
// This test check that we correctly emit an warning for compact cfg
|
||||
//
|
||||
// check-pass
|
||||
// compile-flags:--check-cfg=names() -Z unstable-options
|
||||
|
||||
#![feature(cfg_target_compact)]
|
||||
|
||||
#[cfg(target(os = "linux", arch = "arm"))]
|
||||
pub fn expected() {}
|
||||
|
||||
#[cfg(target(os = "linux", architecture = "arm"))]
|
||||
//~^ WARNING unexpected `cfg` condition name
|
||||
pub fn unexpected() {}
|
||||
|
||||
fn main() {}
|
10
src/test/ui/check-cfg/compact-names.stderr
Normal file
10
src/test/ui/check-cfg/compact-names.stderr
Normal file
@ -0,0 +1,10 @@
|
||||
warning: unexpected `cfg` condition name
|
||||
--> $DIR/compact-names.rs:11:28
|
||||
|
|
||||
LL | #[cfg(target(os = "linux", architecture = "arm"))]
|
||||
| ^^^^^^^^^^^^^^^^^^^^
|
||||
|
|
||||
= note: `#[warn(unexpected_cfgs)]` on by default
|
||||
|
||||
warning: 1 warning emitted
|
||||
|
15
src/test/ui/check-cfg/compact-values.rs
Normal file
15
src/test/ui/check-cfg/compact-values.rs
Normal file
@ -0,0 +1,15 @@
|
||||
// This test check that we correctly emit an warning for compact cfg
|
||||
//
|
||||
// check-pass
|
||||
// compile-flags:--check-cfg=values() -Z unstable-options
|
||||
|
||||
#![feature(cfg_target_compact)]
|
||||
|
||||
#[cfg(target(os = "linux", arch = "arm"))]
|
||||
pub fn expected() {}
|
||||
|
||||
#[cfg(target(os = "linux", arch = "X"))]
|
||||
//~^ WARNING unexpected `cfg` condition value
|
||||
pub fn unexpected() {}
|
||||
|
||||
fn main() {}
|
11
src/test/ui/check-cfg/compact-values.stderr
Normal file
11
src/test/ui/check-cfg/compact-values.stderr
Normal file
@ -0,0 +1,11 @@
|
||||
warning: unexpected `cfg` condition value
|
||||
--> $DIR/compact-values.rs:11:28
|
||||
|
|
||||
LL | #[cfg(target(os = "linux", arch = "X"))]
|
||||
| ^^^^^^^^^^
|
||||
|
|
||||
= note: `#[warn(unexpected_cfgs)]` on by default
|
||||
= 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
|
||||
|
||||
warning: 1 warning emitted
|
||||
|
13
src/test/ui/feature-gates/feature-gate-cfg-target-compact.rs
Normal file
13
src/test/ui/feature-gates/feature-gate-cfg-target-compact.rs
Normal file
@ -0,0 +1,13 @@
|
||||
#[cfg(target(os = "x"))] //~ ERROR compact `cfg(target(..))` is experimental
|
||||
struct Foo(u64, u64);
|
||||
|
||||
#[cfg_attr(target(os = "x"), x)] //~ ERROR compact `cfg(target(..))` is experimental
|
||||
struct Bar(u64, u64);
|
||||
|
||||
#[cfg(not(any(all(target(os = "x")))))] //~ ERROR compact `cfg(target(..))` is experimental
|
||||
fn foo() {}
|
||||
|
||||
fn main() {
|
||||
cfg!(target(os = "x"));
|
||||
//~^ ERROR compact `cfg(target(..))` is experimental and subject to change
|
||||
}
|
@ -0,0 +1,39 @@
|
||||
error[E0658]: compact `cfg(target(..))` is experimental and subject to change
|
||||
--> $DIR/feature-gate-cfg-target-compact.rs:1:7
|
||||
|
|
||||
LL | #[cfg(target(os = "x"))]
|
||||
| ^^^^^^^^^^^^^^^^
|
||||
|
|
||||
= note: see issue #96901 <https://github.com/rust-lang/rust/issues/96901> for more information
|
||||
= help: add `#![feature(cfg_target_compact)]` to the crate attributes to enable
|
||||
|
||||
error[E0658]: compact `cfg(target(..))` is experimental and subject to change
|
||||
--> $DIR/feature-gate-cfg-target-compact.rs:4:12
|
||||
|
|
||||
LL | #[cfg_attr(target(os = "x"), x)]
|
||||
| ^^^^^^^^^^^^^^^^
|
||||
|
|
||||
= note: see issue #96901 <https://github.com/rust-lang/rust/issues/96901> for more information
|
||||
= help: add `#![feature(cfg_target_compact)]` to the crate attributes to enable
|
||||
|
||||
error[E0658]: compact `cfg(target(..))` is experimental and subject to change
|
||||
--> $DIR/feature-gate-cfg-target-compact.rs:7:19
|
||||
|
|
||||
LL | #[cfg(not(any(all(target(os = "x")))))]
|
||||
| ^^^^^^^^^^^^^^^^
|
||||
|
|
||||
= note: see issue #96901 <https://github.com/rust-lang/rust/issues/96901> for more information
|
||||
= help: add `#![feature(cfg_target_compact)]` to the crate attributes to enable
|
||||
|
||||
error[E0658]: compact `cfg(target(..))` is experimental and subject to change
|
||||
--> $DIR/feature-gate-cfg-target-compact.rs:11:10
|
||||
|
|
||||
LL | cfg!(target(os = "x"));
|
||||
| ^^^^^^^^^^^^^^^^
|
||||
|
|
||||
= note: see issue #96901 <https://github.com/rust-lang/rust/issues/96901> for more information
|
||||
= help: add `#![feature(cfg_target_compact)]` to the crate attributes to enable
|
||||
|
||||
error: aborting due to 4 previous errors
|
||||
|
||||
For more information about this error, try `rustc --explain E0658`.
|
Loading…
x
Reference in New Issue
Block a user