#![cfg_attr(docsrs, feature(doc_auto_cfg))]1#![doc(2html_logo_url = "https://bevy.org/assets/icon.png",3html_favicon_url = "https://bevy.org/assets/icon.png"4)]5#![no_std]67//! Platform compatibility support for first-party [Bevy] engine crates.8//!9//! [Bevy]: https://bevy.org/1011cfg::std! {12extern crate std;13}1415cfg::alloc! {16extern crate alloc;1718pub mod collections;19}2021pub mod cell;22pub mod cfg;23pub mod hash;24pub mod sync;25pub mod thread;26pub mod time;2728/// Frequently used items which would typically be included in most contexts.29///30/// When adding `no_std` support to a crate for the first time, often there's a substantial refactor31/// required due to the change in implicit prelude from `std::prelude` to `core::prelude`.32/// This unfortunately leaves out many items from `alloc`, even if the crate unconditionally33/// includes that crate.34///35/// This prelude aims to ease the transition by re-exporting items from `alloc` which would36/// otherwise be included in the `std` implicit prelude.37pub mod prelude {38crate::cfg::alloc! {39pub use alloc::{40borrow::ToOwned, boxed::Box, format, string::String, string::ToString, vec, vec::Vec,41};42}4344// Items from `std::prelude` that are missing in this module:45// * dbg46// * eprint47// * eprintln48// * is_x86_feature_detected4950// * println51// * thread_local52}5354/// Re-exports of crates that are useful across Bevy.55/// Not intended for external crates to use.56#[doc(hidden)]57pub mod exports {58crate::cfg::web! {59pub use js_sys;60pub use wasm_bindgen;61pub use wasm_bindgen_futures;62}63}646566