diff --git a/nixide/src/errors/context.rs b/nixide/src/errors/context.rs index 9056d82..f04a10e 100644 --- a/nixide/src/errors/context.rs +++ b/nixide/src/errors/context.rs @@ -119,7 +119,6 @@ impl Into> for &ErrorContext { }, sys::NixErr::Unknown => NixError::Unknown, - err => NixError::Undocumented(err), }; Err(new_nixide_error!(NixError, inner, err, msg)) diff --git a/nixide/src/errors/error.rs b/nixide/src/errors/error.rs index b0bb66a..95c8379 100644 --- a/nixide/src/errors/error.rs +++ b/nixide/src/errors/error.rs @@ -86,7 +86,7 @@ pub(crate) use new_nixide_error; macro_rules! retrace_nixide_error { ($x:expr) => {{ crate::errors::new_nixide_error!($x.err) }}; } -pub(crate) use retrace_nixide_error; +// pub(crate) use retrace_nixide_error; impl std::error::Error for NixideError {} diff --git a/nixide/src/errors/mod.rs b/nixide/src/errors/mod.rs index 4ab5ca5..c194728 100644 --- a/nixide/src/errors/mod.rs +++ b/nixide/src/errors/mod.rs @@ -4,6 +4,6 @@ mod context; mod nix_error; pub(crate) use context::ErrorContext; -pub(crate) use error::{new_nixide_error, retrace_nixide_error}; +pub(crate) use error::new_nixide_error; pub use error::{NixideError, NixideResult}; pub use nix_error::NixError; diff --git a/nixide/src/expr/eval_state.rs b/nixide/src/expr/eval_state.rs index 10644fb..7cee8e4 100644 --- a/nixide/src/expr/eval_state.rs +++ b/nixide/src/expr/eval_state.rs @@ -15,6 +15,7 @@ use crate::{NixideResult, Store}; /// /// This provides the main interface for evaluating Nix expressions /// and creating values. +#[derive(Clone)] pub struct EvalState { inner: Rc>>, diff --git a/nixide/src/expr/eval_state_builder.rs b/nixide/src/expr/eval_state_builder.rs index e1265db..f1a09e6 100644 --- a/nixide/src/expr/eval_state_builder.rs +++ b/nixide/src/expr/eval_state_builder.rs @@ -106,8 +106,8 @@ impl EvalStateBuilder { } pub fn set_lookup_path>(self, paths: Vec

) -> NixideResult { - let paths_len = paths.len(); - let paths_capacity = paths.capacity(); + // let paths_len = paths.len(); + // let paths_capacity = paths.capacity(); // XXX: TODO: use the `AsCArray` trait instead let mut ptrs: Vec<*const c_char> = paths diff --git a/nixide/src/verbosity.rs b/nixide/src/verbosity.rs index a95f55c..8e1b2c0 100644 --- a/nixide/src/verbosity.rs +++ b/nixide/src/verbosity.rs @@ -1,46 +1,9 @@ use crate::errors::ErrorContext; use crate::sys; +use crate::util::wrap; use crate::util::wrappers::AsInnerPtr as _; -use crate::util::{panic_issue_call_failed, wrap}; -/// Verbosity level -/// -/// # NOTE -/// -/// This should be kept in sync with the C++ implementation (nix::Verbosity) -/// -#[derive(Debug, Clone, Copy)] -pub enum NixVerbosity { - Error, - Warn, - Notice, - Info, - Talkative, - Chatty, - Debug, - Vomit, -} - -impl From for NixVerbosity { - fn from(level: sys::NixVerbosity) -> NixVerbosity { - match level { - sys::NixVerbosity::Error => NixVerbosity::Error, - sys::NixVerbosity::Warn => NixVerbosity::Warn, - sys::NixVerbosity::Notice => NixVerbosity::Notice, - sys::NixVerbosity::Info => NixVerbosity::Info, - sys::NixVerbosity::Talkative => NixVerbosity::Talkative, - sys::NixVerbosity::Chatty => NixVerbosity::Chatty, - sys::NixVerbosity::Debug => NixVerbosity::Debug, - sys::NixVerbosity::Vomit => NixVerbosity::Vomit, - } - } -} - -impl Into for NixVerbosity { - fn into(self) -> sys::NixVerbosity { - self as sys::NixVerbosity - } -} +pub use sys::NixVerbosity; /// Sets the verbosity level. /// @@ -67,7 +30,7 @@ impl Into for NixVerbosity { /// pub fn set_verbosity(level: NixVerbosity) { wrap::nix_fn!(|ctx: &ErrorContext| unsafe { - sys::nix_set_verbosity(ctx.as_ptr(), level.into()); + sys::nix_set_verbosity(ctx.as_ptr(), level); }) - .unwrap_or_else(|err| panic_issue_call_failed!("{}", err)) + .unwrap() }