nushell/crates
Devyn Cairns 0b8d0bcd7a
Fix order of I/O types in take until (#13356)
# Description
Just a quick one, but `List(Any)` has to come before `Table`, because
`List(Any)` is a valid match for `Table`, so it will choose `Table`
output even if the input was actually `List(Any)`. I ended up removing
`Table` because it's just not needed at all anyway.

Though, I'm not really totally sure this is correct - I think the parser
should probably actually just have some idea of what the more specific
type is, and choose the most specific type match, rather than just doing
it in order. I guess this will result in the output just always being
`List(Any)` for now. Still better than a bad typecheck error

# User-Facing Changes

Fixes the following contrived example:

```nushell
def foo []: nothing -> list<int> {
  seq 1 10 | # list<int>
    each { |n| $n * 20 } | # this causes the type to become list<any>
    take until { |x| $x < 10 } } # table is first, so now this is type table
    # ...but table is not compatible with list<int>
}
```

# After Submitting
- [ ] make typechecker type choice more robust
- [ ] release notes
2024-07-12 10:25:44 +02:00
..
nu-cli Path migration part 2: nu-test-support (#13329) 2024-07-12 02:43:10 +00:00
nu-cmd-base Path migration 1 (#13309) 2024-07-09 17:25:23 +08:00
nu-cmd-extra Update config directly at assignment (#13332) 2024-07-11 06:09:33 -07:00
nu-cmd-lang Internal representation (IR) compiler and evaluator (#13330) 2024-07-10 17:33:59 -07:00
nu-cmd-plugin remove the deprecated register command (#13297) 2024-07-05 07:16:50 -05:00
nu-color-config Update config directly at assignment (#13332) 2024-07-11 06:09:33 -07:00
nu-command Fix order of I/O types in take until (#13356) 2024-07-12 10:25:44 +02:00
nu-derive-value Bumping version to 0.95.1 (#13231) 2024-06-25 18:26:07 -07:00
nu-engine Make the store-env IR instruction also update config (#13351) 2024-07-11 10:49:46 -07:00
nu-explore Update config directly at assignment (#13332) 2024-07-11 06:09:33 -07:00
nu-glob Bumping version to 0.95.1 (#13231) 2024-06-25 18:26:07 -07:00
nu-json Bumping version to 0.95.1 (#13231) 2024-06-25 18:26:07 -07:00
nu-lsp Add and use new Signals struct (#13314) 2024-07-07 22:29:01 +00:00
nu-parser Internal representation (IR) compiler and evaluator (#13330) 2024-07-10 17:33:59 -07:00
nu-path Edit path form doc comments (#13358) 2024-07-12 10:23:51 +02:00
nu-plugin Update config directly at assignment (#13332) 2024-07-11 06:09:33 -07:00
nu-plugin-core Add and use new Signals struct (#13314) 2024-07-07 22:29:01 +00:00
nu-plugin-engine Update config directly at assignment (#13332) 2024-07-11 06:09:33 -07:00
nu-plugin-protocol Update config directly at assignment (#13332) 2024-07-11 06:09:33 -07:00
nu-plugin-test-support Add and use new Signals struct (#13314) 2024-07-07 22:29:01 +00:00
nu-pretty-hex Bumping version to 0.95.1 (#13231) 2024-06-25 18:26:07 -07:00
nu-protocol Update config directly at assignment (#13332) 2024-07-11 06:09:33 -07:00
nu-std don't show result in error make examples (#13296) 2024-07-05 07:17:07 -05:00
nu-system Bumping version to 0.95.1 (#13231) 2024-06-25 18:26:07 -07:00
nu-table Fix unused space when truncation is used and header on border is configured (#13353) 2024-07-11 15:13:16 -05:00
nu-term-grid Bumping version to 0.95.1 (#13231) 2024-06-25 18:26:07 -07:00
nu-test-support Path migration part 2: nu-test-support (#13329) 2024-07-12 02:43:10 +00:00
nu-utils Add and use new Signals struct (#13314) 2024-07-07 22:29:01 +00:00
nu_plugin_custom_values Bumping version to 0.95.1 (#13231) 2024-06-25 18:26:07 -07:00
nu_plugin_example Add and use new Signals struct (#13314) 2024-07-07 22:29:01 +00:00
nu_plugin_formats remove the deprecated register command (#13297) 2024-07-05 07:16:50 -05:00
nu_plugin_gstat remove the deprecated register command (#13297) 2024-07-05 07:16:50 -05:00
nu_plugin_inc remove the deprecated register command (#13297) 2024-07-05 07:16:50 -05:00
nu_plugin_nu_example Bumping version to 0.95.1 (#13231) 2024-06-25 18:26:07 -07:00
nu_plugin_polars Make polars unpivot consistent with polars pivot (#13335) 2024-07-10 16:36:38 -05:00
nu_plugin_python remove the deprecated register command (#13297) 2024-07-05 07:16:50 -05:00
nu_plugin_query remove the deprecated register command (#13297) 2024-07-05 07:16:50 -05:00
nu_plugin_stress_internals Bumping version to 0.95.1 (#13231) 2024-06-25 18:26:07 -07:00
nuon Bumping version to 0.95.1 (#13231) 2024-06-25 18:26:07 -07:00
README.md Remove old nushell/merge engine-q 2022-02-07 14:54:06 -05:00

Nushell core libraries and plugins

These sub-crates form both the foundation for Nu and a set of plugins which extend Nu with additional functionality.

Foundational libraries are split into two kinds of crates:

  • Core crates - those crates that work together to build the Nushell language engine
  • Support crates - a set of crates that support the engine with additional features like JSON support, ANSI support, and more.

Plugins are likewise also split into two types:

  • Core plugins - plugins that provide part of the default experience of Nu, including access to the system properties, processes, and web-connectivity features.
  • Extra plugins - these plugins run a wide range of different capabilities like working with different file types, charting, viewing binary data, and more.