forked from extern/nushell
# Description Fix for #7933. I've read through code and found the obvious difference between them, where `each` command calls eval_with_early_returne89e734ca2/crates/nu-command/src/filters/each.rs (L158)
, while `reduce` command uses eval_blocke89e734ca2/crates/nu-command/src/filters/reduce.rs (L143)
That simple change seems to resolve the problem. # User-Facing Changes Allows the use of `return` in reduce closures, as per example in #7933 description. Arguably it's restoring consistency, than changing user interface. ``` [1, 2] | reduce --fold null { |it, state| ::: if $it == 1 { ::: return 10 ::: } ::: return ($it * $state) ::: } 20 ``` # Tests + Formatting Don't forget to add tests that cover your changes. Make sure you've run and fixed any issues with these commands: - [x] `cargo fmt --all -- --check` to check standard code formatting (cargo fmt --all applies these changes) - [x] `cargo clippy --workspace -- -D warnings -D clippy::unwrap_used -A clippy::needless_collect` to check that you're using the standard code style - [x] `cargo test --workspace` to check that all tests pass # After Submitting If your PR had any user-facing changes, update [the documentation](https://github.com/nushell/nushell.github.io) after the PR is merged, if necessary. This will help us keep the docs up to date.