Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Misleading error message if there is error inside else branch #7407

Closed
kubouch opened this issue Dec 9, 2022 · 0 comments · Fixed by #7411
Closed

Misleading error message if there is error inside else branch #7407

kubouch opened this issue Dec 9, 2022 · 0 comments · Fixed by #7411
Labels
🐛 bug Something isn't working unhelpful-error The error message you observe is not helpful to identify the problem
Milestone

Comments

@kubouch
Copy link
Contributor

kubouch commented Dec 9, 2022

Describe the bug

If there is an error in the else branch, the produced error is very unhelpful.

How to reproduce

> if false { 'a' } else { $foo }
Error: nu::parser::parse_mismatch (link)

  × Parse mismatch during operation.
   ╭─[entry #40:1:1]
 1 │ if false { 'a' } else { $foo }
   ·                       ────┬───
   ·                           ╰── expected one of a list of accepted shapes: [Block, Expression]
   ╰────

Compare to the output when there is an error in the if branch:

> if true { $foo } else { 'a' }
Error: nu::parser::variable_not_found (link)

  × Variable not found.
   ╭─[entry #41:1:1]
 1 │ if true { $foo } else { 'a' }
   ·           ──┬─
   ·             ╰── variable not found
   ╰────

Expected behavior

> if false { 'a' } else { $foo }
Error: nu::parser::parse_mismatch (link)

  × Parse mismatch during operation.
   ╭─[entry #40:1:1]
 1 │ if false { 'a' } else { $foo }
   ·                         ──┬─
   ·                           ╰── variable not found
   ╰────

Screenshots

No response

Configuration

key value
version 0.72.2
branch main
commit_hash b39d797
build_os linux-x86_64
build_target x86_64-unknown-linux-gnu
rust_version rustc 1.65.0 (897e37553 2022-11-02)
rust_channel 1.65.0-x86_64-unknown-linux-gnu
cargo_version cargo 1.65.0 (4bc8f24d3 2022-10-20)
pkg_version 0.72.2
build_time 2022-12-09 10:05:41 +02:00
build_rust_channel release
features database, dataframe, default, trash, which, zip
installed_plugins gstat

Additional context

No response

@kubouch kubouch added unhelpful-error The error message you observe is not helpful to identify the problem 🐛 bug Something isn't working labels Dec 9, 2022
kubouch pushed a commit that referenced this issue Dec 9, 2022
# Description

Fixes #7407. 

```
/home/gabriel/CodingProjects/nushell〉if false { 'a' } else { $foo }    12/09/2022 08:14:48 PM
Error: nu::parser::variable_not_found (link)

  × Variable not found.
   ╭─[entry #1:1:1]
 1 │ if false { 'a' } else { $foo }
   ·                         ──┬─
   ·                           ╰── variable not found
   ╰────
```

# User-Facing Changes

_(List of all changes that impact the user experience here. This helps
us keep track of breaking changes.)_

# Tests + Formatting

Don't forget to add tests that cover your changes.

Make sure you've run and fixed any issues with these commands:

- `cargo fmt --all -- --check` to check standard code formatting (`cargo
fmt --all` applies these changes)
- `cargo clippy --workspace -- -D warnings -D clippy::unwrap_used -A
clippy::needless_collect` to check that you're using the standard code
style
- `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.
@hustcer hustcer added this to the v0.73 milestone Dec 9, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🐛 bug Something isn't working unhelpful-error The error message you observe is not helpful to identify the problem
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants