Add some tests for the current #![cfg(FALSE)]
crate behavior
This commit is contained in:
parent
6cc33b7691
commit
f26da39e04
6
tests/ui/cfg/auxiliary/cfg_false_lib.rs
Normal file
6
tests/ui/cfg/auxiliary/cfg_false_lib.rs
Normal file
@ -0,0 +1,6 @@
|
||||
// It is unclear whether a fully unconfigured crate should link to standard library,
|
||||
// or what its `no_std`/`no_core`/`compiler_builtins` status, more precisely.
|
||||
// Currently the usual standard library prelude is added to such crates,
|
||||
// and therefore they link to libstd.
|
||||
|
||||
#![cfg(FALSE)]
|
20
tests/ui/cfg/cfg-false-feature.rs
Normal file
20
tests/ui/cfg/cfg-false-feature.rs
Normal file
@ -0,0 +1,20 @@
|
||||
// It is unclear which features should be in effect in a fully unconfigured crate (issue #104633).
|
||||
// Currently none on the features are in effect, so we get the feature gates reported.
|
||||
|
||||
// check-pass
|
||||
// compile-flags: --crate-type lib
|
||||
|
||||
#![feature(decl_macro)]
|
||||
#![cfg(FALSE)]
|
||||
#![feature(box_syntax)]
|
||||
|
||||
macro mac() {} //~ WARN `macro` is experimental
|
||||
//~| WARN unstable syntax can change at any point in the future
|
||||
|
||||
trait A = Clone; //~ WARN trait aliases are experimental
|
||||
//~| WARN unstable syntax can change at any point in the future
|
||||
|
||||
fn main() {
|
||||
let box _ = Box::new(0); //~ WARN box pattern syntax is experimental
|
||||
//~| WARN unstable syntax can change at any point in the future
|
||||
}
|
35
tests/ui/cfg/cfg-false-feature.stderr
Normal file
35
tests/ui/cfg/cfg-false-feature.stderr
Normal file
@ -0,0 +1,35 @@
|
||||
warning: trait aliases are experimental
|
||||
--> $DIR/cfg-false-feature.rs:14:1
|
||||
|
|
||||
LL | trait A = Clone;
|
||||
| ^^^^^^^^^^^^^^^^
|
||||
|
|
||||
= note: see issue #41517 <https://github.com/rust-lang/rust/issues/41517> for more information
|
||||
= help: add `#![feature(trait_alias)]` to the crate attributes to enable
|
||||
= warning: unstable syntax can change at any point in the future, causing a hard error!
|
||||
= note: for more information, see issue #65860 <https://github.com/rust-lang/rust/issues/65860>
|
||||
|
||||
warning: `macro` is experimental
|
||||
--> $DIR/cfg-false-feature.rs:11:1
|
||||
|
|
||||
LL | macro mac() {}
|
||||
| ^^^^^^^^^^^^^^
|
||||
|
|
||||
= note: see issue #39412 <https://github.com/rust-lang/rust/issues/39412> for more information
|
||||
= help: add `#![feature(decl_macro)]` to the crate attributes to enable
|
||||
= warning: unstable syntax can change at any point in the future, causing a hard error!
|
||||
= note: for more information, see issue #65860 <https://github.com/rust-lang/rust/issues/65860>
|
||||
|
||||
warning: box pattern syntax is experimental
|
||||
--> $DIR/cfg-false-feature.rs:18:9
|
||||
|
|
||||
LL | let box _ = Box::new(0);
|
||||
| ^^^^^
|
||||
|
|
||||
= note: see issue #29641 <https://github.com/rust-lang/rust/issues/29641> for more information
|
||||
= help: add `#![feature(box_patterns)]` to the crate attributes to enable
|
||||
= warning: unstable syntax can change at any point in the future, causing a hard error!
|
||||
= note: for more information, see issue #65860 <https://github.com/rust-lang/rust/issues/65860>
|
||||
|
||||
warning: 3 warnings emitted
|
||||
|
11
tests/ui/cfg/cfg_false_no_std.rs
Normal file
11
tests/ui/cfg/cfg_false_no_std.rs
Normal file
@ -0,0 +1,11 @@
|
||||
// Currently no error because the panic handler is supplied by libstd linked though the empty
|
||||
// library, but the desirable behavior is unclear (see comments in cfg_false_lib.rs).
|
||||
|
||||
// check-pass
|
||||
// aux-build: cfg_false_lib.rs
|
||||
|
||||
#![no_std]
|
||||
|
||||
extern crate cfg_false_lib as _;
|
||||
|
||||
fn main() {}
|
Loading…
Reference in New Issue
Block a user