#![cfg_attr(all(doc, CHANNEL_NIGHTLY), feature(doc_cfg, doc_auto_cfg))]
#![no_std]
#![cfg_attr(
all(not(feature = "std"), feature = "unstable"),
feature(
core_intrinsics,
core_panic,
once_cell,
unicode_internals,
async_iterator,
ip_in_core,
generic_assert_internals,
error_in_core,
cfg_version
)
)]
#![cfg_attr(
all(not(feature = "std"), feature = "alloc", feature = "unstable"),
feature(raw_vec_internals)
)]
#![doc = document_features::document_features!(feature_label = r#"<span class="stab portability"><code>{feature}</code></span>"#)]
#[cfg(feature = "std")]
extern crate std;
#[cfg(feature = "std")]
pub mod prelude {
pub mod v1 {
pub use std::prelude::v1::*;
pub use std::{dbg, eprint, eprintln, format, print, println, vec};
}
pub mod rust_2018 {
pub use super::v1::*;
pub use std::prelude::rust_2018::*;
}
pub mod rust_2021 {
pub use super::v1::*;
pub use std::prelude::rust_2021::*;
}
}
#[cfg(feature = "std")]
pub use std::*;
#[cfg(all(not(feature = "std"), feature = "alloc"))]
extern crate alloc as __alloc;
#[cfg(not(feature = "std"))]
extern crate core as __core;
#[cfg(not(feature = "std"))]
mod generated;
#[cfg(not(feature = "std"))]
pub use self::generated::*;
#[cfg(all(not(feature = "std"), feature = "compat_macros"))]
#[macro_export]
macro_rules! print {
() => {{}};
($($arg:tt)+) => {{
let _ = format_args!($($arg)+);
}};
}
#[cfg(all(not(feature = "std"), feature = "compat_macros"))]
#[macro_export]
macro_rules! println {
($($arg:tt)*) => { print!($($arg)*) }
}
#[cfg(all(not(feature = "std"), feature = "compat_macros"))]
#[macro_export]
macro_rules! eprint {
($($arg:tt)*) => { print!($($arg)*) }
}
#[cfg(all(not(feature = "std"), feature = "compat_macros"))]
#[macro_export]
macro_rules! eprintln {
($($arg:tt)*) => { print!($($arg)*) }
}
#[cfg(all(not(feature = "std"), feature = "compat_macros"))]
#[macro_export]
macro_rules! dbg {
() => {};
($($val:expr),+) => { ($($val),+) }
}