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

Add OneOf shape to fix else #7385

Merged
merged 3 commits into from
Dec 7, 2022
Merged

Add OneOf shape to fix else #7385

merged 3 commits into from
Dec 7, 2022

Conversation

sophiajt
Copy link
Contributor

@sophiajt sophiajt commented Dec 7, 2022

Description

fixes #7384

This is a stop-gap fix until we remove type-directed parsing. With this, you can create a OneOf shape that can be one of a list of syntax shapes. This gives you a little more control than you get with Any, allowing you to add Block without breaking other parsing rules.

User-Facing Changes

else block will no longer capture variables as it will now use a block instead of a closure.

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.

@sophiajt sophiajt changed the title Add OneOf shape to fix else Add OneOf shape to fix else Dec 7, 2022
@sophiajt sophiajt merged commit fa15a28 into nushell:main Dec 7, 2022
@sophiajt sophiajt deleted the one_of_shapes branch December 7, 2022 19:58
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.

else statement captures mutable variables
1 participant