fix(tvix/eval): emit only warnings on shadowed outputs
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]: c7c2984716/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
This commit is contained in:
parent
7604833d2a
commit
2b4ad47c16
4 changed files with 11 additions and 6 deletions
|
|
@ -17,6 +17,7 @@ pub enum WarningKind {
|
|||
DeadCode,
|
||||
EmptyInherit,
|
||||
EmptyLet,
|
||||
ShadowedOutput(String),
|
||||
|
||||
/// Tvix internal warning for features triggered by users that are
|
||||
/// not actually implemented yet, but do not cause runtime failures.
|
||||
|
|
@ -100,6 +101,11 @@ impl EvalWarning {
|
|||
|
||||
WarningKind::EmptyLet => "this `let`-expression contains no bindings".to_string(),
|
||||
|
||||
WarningKind::ShadowedOutput(ref out) => format!(
|
||||
"this derivation's environment shadows the output name {}",
|
||||
out
|
||||
),
|
||||
|
||||
WarningKind::NotImplemented(what) => {
|
||||
format!("feature not yet implemented in tvix: {}", what)
|
||||
}
|
||||
|
|
@ -120,6 +126,7 @@ impl EvalWarning {
|
|||
WarningKind::DeadCode => "W008",
|
||||
WarningKind::EmptyInherit => "W009",
|
||||
WarningKind::EmptyLet => "W010",
|
||||
WarningKind::ShadowedOutput(_) => "W011",
|
||||
|
||||
WarningKind::NotImplemented(_) => "W999",
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue