diff options
author | Linus Heckemann <git@sphalerite.org> | 2023-06-01T19·21+0200 |
---|---|---|
committer | clbot <clbot@tvl.fyi> | 2023-06-11T20·59+0000 |
commit | 2b4ad47c16dc0fb114be0fd03526ffb871aa1875 (patch) | |
tree | 200449d6fe54a5d970afb769add2e82ae9ccb574 /tvix/cli/src | |
parent | 7604833d2ae2a26f6262f17593e2748e978c410d (diff) |
fix(tvix/eval): emit only warnings on shadowed outputs r/6266
Unfortunately, nixpkgs has at least one case[1] where the out environment variable is shadowed -- though it doesn't cause a problem, since it's shadowed with the correct value, odd as this may be! [1]: https://github.com/NixOS/nixpkgs/blob/c7c298471676ac1c7789ab3c424fbcebecaa6791/pkgs/development/python-modules/pybind11/default.nix#L19 Change-Id: Ibf6790d2484dc9cce8e424feeb5886664d498dc3 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8696 Autosubmit: tazjin <tazjin@tvl.su> Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
Diffstat (limited to 'tvix/cli/src')
-rw-r--r-- | tvix/cli/src/derivation.rs | 6 | ||||
-rw-r--r-- | tvix/cli/src/errors.rs | 2 |
2 files changed, 3 insertions, 5 deletions
diff --git a/tvix/cli/src/derivation.rs b/tvix/cli/src/derivation.rs index cf15ebbb0dc3..fa246cc74fe9 100644 --- a/tvix/cli/src/derivation.rs +++ b/tvix/cli/src/derivation.rs @@ -5,8 +5,8 @@ use std::cell::RefCell; use std::collections::{btree_map, BTreeSet}; use std::rc::Rc; use tvix_eval::builtin_macros::builtins; -use tvix_eval::generators::{self, GenCo}; -use tvix_eval::{AddContext, CoercionKind, ErrorKind, NixAttrs, NixList, Value}; +use tvix_eval::generators::{self, emit_warning_kind, GenCo}; +use tvix_eval::{AddContext, CoercionKind, ErrorKind, NixAttrs, NixList, Value, WarningKind}; use crate::errors::Error; use crate::known_paths::{KnownPaths, PathKind, PathName}; @@ -327,7 +327,7 @@ mod derivation_builtins { .insert(output.to_string(), String::new()) .is_some() { - return Err(Error::ShadowedOutput(output.to_string()).into()); + emit_warning_kind(&co, WarningKind::ShadowedOutput(output.to_string())).await; } } diff --git a/tvix/cli/src/errors.rs b/tvix/cli/src/errors.rs index 6f328dc0003c..5cbddcbba811 100644 --- a/tvix/cli/src/errors.rs +++ b/tvix/cli/src/errors.rs @@ -11,8 +11,6 @@ pub enum Error { ConflictingOutputTypes, #[error("the environment variable '{0}' has already been set in this derivation")] DuplicateEnvVar(String), - #[error("the environment variable '{0}' shadows the name of an output")] - ShadowedOutput(String), #[error("invalid derivation parameters: {0}")] InvalidDerivation(DerivationError), #[error("invalid output hash: {0}")] |