summaryrefslogtreecommitdiffstats
path: root/library/backtrace/crates/as-if-std/src/lib.rs
diff options
context:
space:
mode:
Diffstat (limited to 'library/backtrace/crates/as-if-std/src/lib.rs')
-rw-r--r--library/backtrace/crates/as-if-std/src/lib.rs21
1 files changed, 21 insertions, 0 deletions
diff --git a/library/backtrace/crates/as-if-std/src/lib.rs b/library/backtrace/crates/as-if-std/src/lib.rs
new file mode 100644
index 000000000..c0f49b77d
--- /dev/null
+++ b/library/backtrace/crates/as-if-std/src/lib.rs
@@ -0,0 +1,21 @@
+// A crate which builds the `backtrace` crate as-if it's included as a
+// submodule into the standard library. We try to set this crate up similarly
+// to the standard library itself to minimize the likelihood of issues when
+// updating the `backtrace` crate.
+
+#![no_std]
+
+extern crate alloc;
+
+// We want to `pub use std::*` in the root but we don't want `std` available in
+// the root namespace, so do this in a funky inner module.
+mod __internal {
+ extern crate std;
+ pub use std::*;
+}
+
+pub use __internal::*;
+
+// This is the magical part which we hope works.
+#[path = "../../../src/lib.rs"]
+mod the_backtrace_crate;