Fix $in
in range expressions
This commit is contained in:
parent
a88c3f48e2
commit
d7164a3359
|
@ -432,7 +432,17 @@ impl Expression {
|
|||
Expr::Int(_) => {}
|
||||
Expr::Float(_) => {}
|
||||
Expr::Binary(_) => {}
|
||||
Expr::Range(_) => {}
|
||||
Expr::Range(range) => {
|
||||
if let Some(from) = &mut range.from {
|
||||
from.replace_in_variable(working_set, new_var_id);
|
||||
}
|
||||
if let Some(next) = &mut range.next {
|
||||
next.replace_in_variable(working_set, new_var_id);
|
||||
}
|
||||
if let Some(to) = &mut range.to {
|
||||
to.replace_in_variable(working_set, new_var_id);
|
||||
}
|
||||
}
|
||||
Expr::Var(var_id) | Expr::VarDecl(var_id) => {
|
||||
if *var_id == IN_VARIABLE_ID {
|
||||
*var_id = new_var_id;
|
||||
|
|
|
@ -75,6 +75,12 @@ fn in_used_twice_and_also_in_pipeline() -> TestResult {
|
|||
)
|
||||
}
|
||||
|
||||
// #13441
|
||||
#[test]
|
||||
fn in_used_in_range() -> TestResult {
|
||||
run_test(r#"6 | 3..$in | math sum"#, "18")
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn help_works_with_missing_requirements() -> TestResult {
|
||||
run_test(r#"each --help | lines | length"#, "72")
|
||||
|
|
Loading…
Reference in New Issue
Block a user