Skip to content

Commit ec9697a

Browse files
committed
Remove direct eprintln! usage from vm
1 parent 846e38e commit ec9697a

File tree

2 files changed

+19
-6
lines changed

2 files changed

+19
-6
lines changed

stdlib/src/faulthandler.rs

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,14 @@ pub(crate) use decl::make_module;
22

33
#[pymodule(name = "faulthandler")]
44
mod decl {
5-
use crate::vm::{frame::FrameRef, function::OptionalArg, VirtualMachine};
5+
use crate::vm::{
6+
frame::FrameRef, function::OptionalArg, stdlib::sys::PyStderr, VirtualMachine,
7+
};
68

7-
fn dump_frame(frame: &FrameRef) {
8-
eprintln!(
9+
fn dump_frame(frame: &FrameRef, vm: &VirtualMachine) {
10+
let stderr = PyStderr(vm);
11+
writeln!(
12+
stderr,
913
" File \"{}\", line {} in {}",
1014
frame.code.source_path,
1115
frame.current_location().row(),
@@ -19,10 +23,11 @@ mod decl {
1923
_all_threads: OptionalArg<bool>,
2024
vm: &VirtualMachine,
2125
) {
22-
eprintln!("Stack (most recent call first):");
26+
let stderr = PyStderr(vm);
27+
writeln!(stderr, "Stack (most recent call first):");
2328

2429
for frame in vm.frames.borrow().iter() {
25-
dump_frame(frame);
30+
dump_frame(frame, vm);
2631
}
2732
}
2833

vm/src/stdlib/warnings.rs

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ mod _warnings {
55
use crate::{
66
builtins::{PyStrRef, PyTypeRef},
77
function::OptionalArg,
8+
stdlib::sys::PyStderr,
89
AsObject, PyResult, VirtualMachine,
910
};
1011

@@ -33,7 +34,14 @@ mod _warnings {
3334
} else {
3435
vm.ctx.exceptions.user_warning.clone()
3536
};
36-
eprintln!("level:{}: {}: {}", level, category.name(), args.message);
37+
let stderr = PyStderr(vm);
38+
writeln!(
39+
stderr,
40+
"level:{}: {}: {}",
41+
level,
42+
category.name(),
43+
args.message
44+
);
3745
Ok(())
3846
}
3947
}

0 commit comments

Comments
 (0)