Skip to content

Type mismatch span fix #7288#8271

Merged
rgwood merged 1 commit intonushell:mainfrom
Vctr-w:type_mismatch_span_fix
Mar 1, 2023
Merged

Type mismatch span fix #7288#8271
rgwood merged 1 commit intonushell:mainfrom
Vctr-w:type_mismatch_span_fix

Conversation

@Vctr-w
Copy link
Copy Markdown
Contributor

@Vctr-w Vctr-w commented Mar 1, 2023

Description

This change fixes the bug associated with an incorrect span in type_mismatch error message as described in #7288

The span argument in the method into_value was not being used to convert a PipelineData::Value type so when called in eval_expression, the original expression's span was not being used to overwrite the result of eval_subexpression.

User-Facing Changes

Using the example described in the issue, the whole bracketed subexpression is correctly underlined.

Behavior before change:

let val = 10
($val | into string) + $val
Error: nu::shell::type_mismatch

  × Type mismatch during operation.
   ╭─[entry #2:1:1]
 1 │ ($val | into string) + $val
   ·         ─────┬─────  ┬ ──┬─
   ·              │       │   ╰── int
   ·              │       ╰── type mismatch for operator
   ·              ╰── string
   ╰────

Behavior after change:

let val = 10
($val | into string) + $val
Error: nu::shell::type_mismatch

  × Type mismatch during operation.
   ╭─[entry #2:1:1]
 1 │ ($val | into string) + $val
   · ──────────┬───────── ┬ ──┬─
   ·           │          │   ╰── int
   ·           │          ╰── type mismatch for operator
   ·           ╰── string
   ╰────

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 after the PR is merged, if necessary. This will help us keep the docs up to date.

@Vctr-w Vctr-w force-pushed the type_mismatch_span_fix branch from b547698 to 60f055e Compare March 1, 2023 03:51
@Vctr-w Vctr-w marked this pull request as ready for review March 1, 2023 03:54
@Vctr-w Vctr-w changed the title Type mismatch span fix Type mismatch span fix #7288 Mar 1, 2023
Copy link
Copy Markdown
Contributor

@rgwood rgwood left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wow, this is a nice first PR. Thanks!

This looks good to me.

@rgwood rgwood merged commit 592e677 into nushell:main Mar 1, 2023
@Vctr-w Vctr-w deleted the type_mismatch_span_fix branch March 1, 2023 05:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants