Skip to content

Commit f6a691f

Browse files
committed
Fix miri imports for inclusion in libstd
1 parent 8eee2e4 commit f6a691f

File tree

2 files changed

+17
-9
lines changed

2 files changed

+17
-9
lines changed

src/backtrace/miri.rs

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
use std::boxed::Box;
2-
use std::ffi::c_void;
1+
use alloc::boxed::Box;
2+
use core::ffi::c_void;
33

44
extern "Rust" {
55
fn miri_get_backtrace(flags: u64) -> Box<[*mut ()]>;
@@ -32,7 +32,7 @@ impl Frame {
3232
}
3333

3434
pub fn sp(&self) -> *mut c_void {
35-
std::ptr::null_mut()
35+
core::ptr::null_mut()
3636
}
3737

3838
pub fn symbol_address(&self) -> *mut c_void {

src/symbolize/miri.rs

+14-6
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,18 @@
11
use core::ffi::c_void;
22
use core::marker::PhantomData;
33

4-
use crate::backtrace::miri::{resolve_addr, Frame};
5-
use crate::symbolize::{ResolveWhat, SymbolName};
6-
use crate::types::BytesOrWideString;
4+
use super::super::backtrace::miri::{resolve_addr, Frame};
5+
use super::BytesOrWideString;
6+
use super::{ResolveWhat, SymbolName};
7+
8+
#[cfg(backtrace_in_libstd)]
9+
mod mystd {
10+
pub use crate::*;
11+
}
12+
#[cfg(not(backtrace_in_libstd))]
13+
extern crate std as mystd;
14+
15+
use mystd::path::Path;
716

817
pub unsafe fn resolve(what: ResolveWhat<'_>, cb: &mut dyn FnMut(&super::Symbol)) {
918
let sym = match what {
@@ -45,10 +54,9 @@ impl<'a> Symbol<'a> {
4554
Some(self.inner.inner.colno)
4655
}
4756

48-
pub fn filename(&self) -> Option<&::std::path::Path> {
49-
use std::path::Path;
57+
pub fn filename(&self) -> Option<&Path> {
5058
Some(Path::new(
51-
std::str::from_utf8(&self.inner.inner.filename).unwrap(),
59+
core::str::from_utf8(&self.inner.inner.filename).unwrap(),
5260
))
5361
}
5462
}

0 commit comments

Comments
 (0)