maybe_std/
lib.rs

1#![cfg_attr(not(feature = "std"), no_std)]
2#![cfg_attr(all(not(feature = "std"), feature = "unstable"),
3            feature(core_intrinsics, core_panic, raw, unicode_internals))]
4#![cfg_attr(all(not(feature = "std"), feature = "alloc", feature = "unstable"),
5            feature(raw_vec_internals, wake_trait, asm, concat_idents, format_args_nl, global_asm,
6                llvm_asm, log_syntax, trace_macros))]
7#[cfg(feature = "alloc")]
8extern crate alloc as alloc_;
9
10#[cfg(feature = "std")]
11pub use std::*;
12
13#[cfg(all(feature = "alloc", not(feature = "std")))]
14mod alloc_stuff {
15    pub use super::alloc_::alloc;
16    pub use super::alloc_::borrow;
17    pub use super::alloc_::boxed;
18    pub use super::alloc_::collections;
19    pub use super::alloc_::fmt;
20    pub use super::alloc_::rc;
21    pub use super::alloc_::slice;
22    pub use super::alloc_::str;
23    pub use super::alloc_::string;
24    pub use super::alloc_::vec;
25
26    pub use core::any;
27    pub use core::arch;
28    pub use core::array;
29    pub use core::ascii;
30    pub use core::cell;
31    pub use core::char;
32    pub use core::clone;
33    pub use core::cmp;
34    pub use core::convert;
35    pub use core::default;
36    pub use core::f32;
37    pub use core::f64;
38    pub use core::ffi;
39    pub use core::future;
40    pub use core::hash;
41    pub use core::hint;
42    pub use core::i8;
43    pub use core::i16;
44    pub use core::i32;
45    pub use core::i64;
46    pub use core::i128;
47    pub use core::isize;
48    pub use core::iter;
49    pub use core::marker;
50    pub use core::mem;
51    pub use core::num;
52    pub use core::ops;
53    pub use core::option;
54    pub use core::panic;
55    pub use core::pin;
56    pub use core::primitive;
57    pub use core::ptr;
58    pub use core::result;
59    pub use core::time;
60    pub use core::u8;
61    pub use core::u16;
62    pub use core::u32;
63    pub use core::u64;
64    pub use core::u128;
65    pub use core::usize;
66
67    pub mod prelude {
68        pub mod v1 {
69            pub use super::super::super::alloc_::borrow::ToOwned;
70            pub use super::super::super::alloc_::boxed::Box;
71            pub use super::super::super::alloc_::string::String;
72            pub use super::super::super::alloc_::string::ToString;
73            pub use super::super::super::alloc_::vec::Vec;
74
75            pub use super::super::super::alloc_::format;
76            pub use super::super::super::alloc_::vec;
77
78            pub use core::prelude::v1::*;
79        }
80    }
81
82    pub mod task {
83        pub use core::task::*;
84
85        #[cfg(feature = "unstable")]
86        pub use super::super::alloc_::task::*;
87    }
88
89    pub mod sync {
90        pub use core::sync::*;
91        pub use alloc_::sync::*;
92    }
93
94    pub use core::assert;
95    pub use core::assert_eq;
96    pub use core::assert_ne;
97    pub use core::cfg;
98    pub use core::column;
99    pub use core::compile_error;
100    pub use core::concat;
101    pub use core::debug_assert;
102    pub use core::debug_assert_eq;
103    pub use core::debug_assert_ne;
104    pub use core::env;
105    pub use core::file;
106    pub use core::format_args;
107    pub use core::include;
108    pub use core::include_bytes;
109    pub use core::include_str;
110    pub use core::line;
111    pub use core::matches;
112    pub use core::module_path;
113    pub use core::option_env;
114    pub use core::stringify;
115    pub use core::todo;
116    #[allow(deprecated)]
117    pub use core::r#try;
118    pub use core::unimplemented;
119    pub use core::unreachable;
120    pub use core::write;
121    pub use core::writeln;
122
123    #[cfg(feature = "unstable")]
124    pub use core::asm;
125    #[cfg(feature = "unstable")]
126    pub use core::concat_idents;
127    #[cfg(feature = "unstable")]
128    pub use core::format_args_nl;
129    #[cfg(feature = "unstable")]
130    pub use core::global_asm;
131    #[cfg(feature = "unstable")]
132    pub use core::llvm_asm;
133    #[cfg(feature = "unstable")]
134    pub use core::log_syntax;
135    #[cfg(feature = "unstable")]
136    pub use core::trace_macros;
137}
138#[cfg(all(feature = "alloc", not(feature = "std")))]
139pub use alloc_stuff::*;
140
141#[cfg(all(not(feature = "alloc"), not(feature = "std")))]
142pub use core::*;