1 | //! Run-time feature detection for the Rust standard library. |
2 | //! |
3 | //! To detect whether a feature is enabled in the system running the binary |
4 | //! use one of the appropriate macro for the target: |
5 | //! |
6 | //! * `x86` and `x86_64`: [`is_x86_feature_detected`] |
7 | //! * `arm`: [`is_arm_feature_detected`] |
8 | //! * `aarch64`: [`is_aarch64_feature_detected`] |
9 | //! * `riscv`: [`is_riscv_feature_detected`] |
10 | //! * `mips`: [`is_mips_feature_detected`] |
11 | //! * `mips64`: [`is_mips64_feature_detected`] |
12 | //! * `powerpc`: [`is_powerpc_feature_detected`] |
13 | //! * `powerpc64`: [`is_powerpc64_feature_detected`] |
14 | //! * `loongarch`: [`is_loongarch_feature_detected`] |
15 | //! * `s390x`: [`is_s390x_feature_detected`] |
16 | |
17 | #![unstable (feature = "stdarch_internal" , issue = "none" )] |
18 | #![feature (staged_api, doc_cfg, allow_internal_unstable)] |
19 | #![deny (rust_2018_idioms)] |
20 | #![allow (clippy::shadow_reuse)] |
21 | #![cfg_attr (test, allow(unused_imports))] |
22 | #![no_std ] |
23 | #![allow (internal_features)] |
24 | |
25 | #[cfg (test)] |
26 | #[macro_use ] |
27 | extern crate std; |
28 | |
29 | // rust-lang/rust#83888: removing `extern crate` gives an error that `vec_spare> |
30 | #[cfg_attr (feature = "std_detect_file_io" , allow(unused_extern_crates))] |
31 | #[cfg (feature = "std_detect_file_io" )] |
32 | extern crate alloc; |
33 | |
34 | #[doc (hidden)] |
35 | #[unstable (feature = "stdarch_internal" , issue = "none" )] |
36 | pub mod detect; |
37 | |