| 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 | |