From ec3e38c2d6f3eed87bb3f36060bd4dac09a9da75 Mon Sep 17 00:00:00 2001 From: Vincent Ambo Date: Mon, 12 Dec 2022 19:10:55 +0300 Subject: chore(tvix/eval): gate tvix_eval::StdIO behind the `impure` feature This shouldn't be available if we've built a "pure" crate. Change-Id: I7c85827ee212890252ff7e0b6242e2c52618cba5 Reviewed-on: https://cl.tvl.fyi/c/depot/+/7572 Tested-by: BuildkiteCI Reviewed-by: grfn --- tvix/eval/src/io.rs | 2 ++ tvix/eval/src/lib.rs | 5 ++++- 2 files changed, 6 insertions(+), 1 deletion(-) (limited to 'tvix') diff --git a/tvix/eval/src/io.rs b/tvix/eval/src/io.rs index cf9f630430..fd0680f3c2 100644 --- a/tvix/eval/src/io.rs +++ b/tvix/eval/src/io.rs @@ -27,8 +27,10 @@ pub trait EvalIO { /// Implementation of [`EvalIO`] that simply uses the equivalent /// standard library functions, i.e. does local file-IO. +#[cfg(feature = "impure")] pub struct StdIO; +#[cfg(feature = "impure")] impl EvalIO for StdIO { fn read_to_string(&self, path: PathBuf) -> Result { let path: PathBuf = path.into(); diff --git a/tvix/eval/src/lib.rs b/tvix/eval/src/lib.rs index 8cf9fe6e1b..17dff94203 100644 --- a/tvix/eval/src/lib.rs +++ b/tvix/eval/src/lib.rs @@ -45,7 +45,7 @@ use std::sync::Arc; pub use crate::builtins::global_builtins; pub use crate::compiler::{compile, prepare_globals}; pub use crate::errors::{Error, ErrorKind, EvalResult}; -pub use crate::io::{DummyIO, EvalIO, StdIO}; +pub use crate::io::{DummyIO, EvalIO}; use crate::observer::{CompilerObserver, RuntimeObserver}; pub use crate::pretty_ast::pretty_print_expr; pub use crate::source::SourceCode; @@ -53,6 +53,9 @@ pub use crate::value::Value; pub use crate::vm::run_lambda; pub use crate::warnings::{EvalWarning, WarningKind}; +#[cfg(feature = "impure")] +pub use crate::io::StdIO; + /// Internal-only parts of `tvix-eval`, exported for use in macros, but not part of the public /// interface of the crate. pub mod internal { -- cgit 1.4.1