diff --git a/Cargo.toml b/Cargo.toml index 14e66b39eba..f52745c6e5b 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -13,6 +13,7 @@ license.workspace = true default = ["threading", "stdlib", "importlib"] importlib = ["rustpython-vm/importlib"] encodings = ["rustpython-vm/encodings"] +quiet-stdio = ["rustpython-vm/quiet-stdio"] stdlib = ["rustpython-stdlib", "rustpython-pylib", "encodings"] flame-it = ["rustpython-vm/flame-it", "flame", "flamescope"] freeze-stdlib = ["stdlib", "rustpython-vm/freeze-stdlib", "rustpython-pylib?/freeze-stdlib"] diff --git a/vm/Cargo.toml b/vm/Cargo.toml index a0e357baa9f..6321155f432 100644 --- a/vm/Cargo.toml +++ b/vm/Cargo.toml @@ -24,6 +24,7 @@ codegen = ["rustpython-codegen", "ast"] parser = ["rustpython-parser", "ast"] serde = ["dep:serde"] wasmbind = ["chrono/wasmbind", "getrandom/wasm_js", "wasm-bindgen"] +quiet-stdio = [] [dependencies] rustpython-compiler = { workspace = true, optional = true } diff --git a/vm/src/vm/mod.rs b/vm/src/vm/mod.rs index dd647e36f80..7c817056c67 100644 --- a/vm/src/vm/mod.rs +++ b/vm/src/vm/mod.rs @@ -296,7 +296,10 @@ impl VirtualMachine { let importlib = import::init_importlib_base(self)?; self.import_utf8_encodings()?; - #[cfg(any(not(target_arch = "wasm32"), target_os = "wasi"))] + #[cfg(all( + any(not(target_arch = "wasm32"), target_os = "wasi"), + not(feature = "quiet-stdio") + ))] { let io = import::import_builtin(self, "_io")?; let set_stdio = |name, fd, write| {