diff options
author | Aspen Smith <root@gws.fyi> | 2024-02-22T21·09-0500 |
---|---|---|
committer | clbot <clbot@tvl.fyi> | 2024-02-23T15·47+0000 |
commit | ffb134398dedcae6cd13cdf49b2cd57d43793bda (patch) | |
tree | 01e6187c128347d13f693ad180a105a060d9c6c4 /tvix/glue/src/builtins | |
parent | 782cfa9e3372d0cfe13471597968d58deb181e71 (diff) |
refactor(tvix/glue): Make a single errors.rs module r/7596
To pave the way for adding a new error type for builtins in this crate, move DerivationError to a new builtins::errors module. Change-Id: I65fcad63e43ed40ad39c2c6540a2ab80fdd90fd4 Reviewed-on: https://cl.tvl.fyi/c/depot/+/11016 Tested-by: BuildkiteCI Reviewed-by: flokli <flokli@flokli.de> Autosubmit: aspen <root@gws.fyi>
Diffstat (limited to 'tvix/glue/src/builtins')
-rw-r--r-- | tvix/glue/src/builtins/errors.rs (renamed from tvix/glue/src/builtins/derivation_error.rs) | 14 | ||||
-rw-r--r-- | tvix/glue/src/builtins/mod.rs | 5 |
2 files changed, 9 insertions, 10 deletions
diff --git a/tvix/glue/src/builtins/derivation_error.rs b/tvix/glue/src/builtins/errors.rs index 25471f0fdf48..b606aa6a7c48 100644 --- a/tvix/glue/src/builtins/derivation_error.rs +++ b/tvix/glue/src/builtins/errors.rs @@ -1,11 +1,11 @@ -//! Contains [crate::builtins::DerivationError]. -use nix_compat::{derivation::DerivationError, nixhash}; +//! Contains errors that can occur during evaluation of builtins in this crate +use nix_compat::nixhash; use std::rc::Rc; use thiserror::Error; /// Errors related to derivation construction #[derive(Debug, Error)] -pub enum Error { +pub enum DerivationError { #[error("an output with the name '{0}' is already defined")] DuplicateOutput(String), #[error("fixed-output derivations can only have the default `out`-output")] @@ -13,15 +13,15 @@ pub enum Error { #[error("the environment variable '{0}' has already been set in this derivation")] DuplicateEnvVar(String), #[error("invalid derivation parameters: {0}")] - InvalidDerivation(DerivationError), + InvalidDerivation(#[from] nix_compat::derivation::DerivationError), #[error("invalid output hash: {0}")] - InvalidOutputHash(nixhash::Error), + InvalidOutputHash(#[from] nixhash::Error), #[error("invalid output hash mode: '{0}', only 'recursive' and 'flat` are supported")] InvalidOutputHashMode(String), } -impl From<Error> for tvix_eval::ErrorKind { - fn from(err: Error) -> Self { +impl From<DerivationError> for tvix_eval::ErrorKind { + fn from(err: DerivationError) -> Self { tvix_eval::ErrorKind::TvixError(Rc::new(err)) } } diff --git a/tvix/glue/src/builtins/mod.rs b/tvix/glue/src/builtins/mod.rs index a62ba192871f..c528bd46424b 100644 --- a/tvix/glue/src/builtins/mod.rs +++ b/tvix/glue/src/builtins/mod.rs @@ -5,12 +5,11 @@ use std::rc::Rc; use crate::tvix_store_io::TvixStoreIO; mod derivation; -mod derivation_error; +mod errors; mod fetchers; - mod import; -pub use derivation_error::Error as DerivationError; +pub use errors::DerivationError; /// Adds derivation-related builtins to the passed [tvix_eval::Evaluation]. /// |