lazy_vec 0.3.0

A lazily initialized (but eagerly allocated) Vec-like datastructure
Documentation
{ pkgs }:
let
  tag = "[shell.nix]";
in
pkgs.mkShell {
  buildInputs = with pkgs; [
    cargo-audit
    cargo-bloat
    cargo-crev  # Review system for verifying security & quality of Cargo deps
    cargo-criterion  # Benchmarker
    cargo-edit
    cargo-expand  # Rust macro expansion utility
    # cargo-make  # build tool on top of cargo
    cargo-msrv  # Find the Minimum Supported Rust Version for a crate
    # cargo-ndk  # Android build support for Rust
    cargo-nextest  # A new, faster test runner for Rust.
    cargo-outdated  # Check for outdated dependencies
    cargo-watch  # Execute commands when Rust project files change
    cargo-workspaces  # Optimizes the workflow around cargo workspaces
    # clang
    # jetbrains.rust-rover  # Quite large, but useful for its debugger GUI
    (rust-bin.stable.latest.default.override {
      extensions = [
        "rustfmt"
        "rust-src"
        "rust-analyzer"
      ];
      targets = [
        "aarch64-apple-darwin"
        "aarch64-unknown-linux-gnu"
        "x86_64-unknown-linux-gnu"
        "wasm32-unknown-unknown"
      ];
    })
  ];

  shellHook = ''
      export RUST_BACKTRACE=1

      # >&2 echo "${tag} Executing 'cargo clean'..."
      # cargo clean
  '';
}