mirror of
https://github.com/nushell/nushell
synced 2024-12-27 21:43:09 +00:00
971f9ae0f0
# Description `derive(EnumIter)` is only required to run completeness tests. Thus make the derive conditional on test and move `strum` and `strum_macros` to the dev dependencies. ## Is it worth it? Removing this derive does not change the binary size (checked via `cargo bloat --crates` from `cargo-bloat`). Compile time change is below a second so hard to judge based on a single run of `cargo clean --profile dev; cargo build --timings` Unsure if this negatively impacts how incremental compilation can recompile when you switch between `cargo build`/`run` and `cargo test` in your local workflow. To get rid of `strum`/`strum_macros` as a proc macro crate we would need to also remove it from `reedline`. Further more a crate in the `polars` dependency tree uses `strum` (curently not as relevant for the 1.0 build). |
||
---|---|---|
.. | ||
src | ||
tests | ||
Cargo.toml | ||
LICENSE | ||
README.md |
nu-protocol
The nu-protocol crate holds the definitions of structs/traits that are used throughout Nushell. This gives us one way to expose them to many other crates, as well as make these definitions available to each other, without causing mutually recursive dependencies.