#![cfg_attr(docsrs, feature(doc_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 future;24pub mod hash;25pub mod sync;26pub mod thread;27pub mod time;2829/// Frequently used items which would typically be included in most contexts.30///31/// When adding `no_std` support to a crate for the first time, often there's a substantial refactor32/// required due to the change in implicit prelude from `std::prelude` to `core::prelude`.33/// This unfortunately leaves out many items from `alloc`, even if the crate unconditionally34/// includes that crate.35///36/// This prelude aims to ease the transition by re-exporting items from `alloc` which would37/// otherwise be included in the `std` implicit prelude.38pub mod prelude {39crate::cfg::alloc! {40pub use alloc::{41borrow::ToOwned, boxed::Box, format, string::String, string::ToString, vec, vec::Vec,42};43}4445// Items from `std::prelude` that are missing in this module:46// * dbg47// * eprint48// * eprintln49// * is_x86_feature_detected5051// * println52// * thread_local53}5455/// Re-exports of crates that are useful across Bevy.56/// Not intended for external crates to use.57#[doc(hidden)]58pub mod exports {59crate::cfg::web! {60pub use js_sys;61pub use wasm_bindgen;62pub use wasm_bindgen_futures;63}64}656667