Skip to content

Commit 56cc76b

Browse files
committed
docs: Refactor journal entry for December 11, 2025, to enhance clarity on Rust tooling
- Reorganized content to improve flow, moving insights on [[Cargo/nexttest]] and its usage in personal projects to a more prominent position. - Clarified the differences in dependency management between Rust and other languages, emphasizing the structural distinctions in handling binary tools. - Maintained the evaluation report on linters and auto-formatters for table alignment and code blocks.
1 parent 228ab14 commit 56cc76b

File tree

1 file changed

+13
-12
lines changed

1 file changed

+13
-12
lines changed

journals/2025_12_11.md

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,15 @@
11
- Added evaluation report: [[Markdown/Tool/Evaluation/Linters and Auto-Formatters for Table Alignment and Code Blocks]]
22
- [[dprint]] is a rust based autoformatter, but it's also got some involvement with [[Webassembly]] ...
3-
- [[Cargo/nexttest]]
4-
- I've started using this in [[Person/codekiln/GitHub/langstar]].
5-
- It surprised me [here](https://github.com/codekiln/langstar/pull/680#discussion_r2611003288)
6-
- My question:
7-
- > In python and js, tools like linters would typically be locked alongside the libraries and specified in the package manager. Does rust really differ from these that much?
8-
- [[ChatGPT/Response]]
9-
- `cargo-nextest` is a **binary tool** (cargo subcommand), not a Rust library. Binary tools must be installed via `cargo install`, not added to `Cargo.toml` dev-dependencies.
10-
- **Yes — Rust really does differ here.** The difference is structural:
11-
- **Cargo only manages libraries you compile into your project.** `Cargo.toml` is a crate manifest, not a general dependency manifest. Unlike JS (`package.json`) or Python (`requirements.txt`), it doesn't manage binary tools.
12-
- **Rust ecosystem assumes tools are installed globally** via `cargo install`, Nix, Docker, or OS package managers. This matches systems languages like Go/C++/Zig, not Python/JS.
13-
- **Version-locking tools happens outside Cargo** via devcontainer.json, Dockerfiles, Nix flakes, CI scripts, or a `tools/` workspace crate.
14-
- **Bottom line:** Cargo intentionally separates build tools from build inputs. For reproducible tooling, use devcontainer/Docker/Nix/CI scripts, not `Cargo.toml`.
3+
- [[Rust]] learning
4+
- [[Cargo/nexttest]]
5+
- I've started using this in [[Person/codekiln/GitHub/langstar]].
6+
- It surprised me [here](https://github.com/codekiln/langstar/pull/680#discussion_r2611003288)
7+
- My question:
8+
- > In python and js, tools like linters would typically be locked alongside the libraries and specified in the package manager. Does rust really differ from these that much?
9+
- [[ChatGPT/Response]]
10+
- `cargo-nextest` is a **binary tool** (cargo subcommand), not a Rust library. Binary tools must be installed via `cargo install`, not added to `Cargo.toml` dev-dependencies.
11+
- **Yes — Rust really does differ here.** The difference is structural:
12+
- **Cargo only manages libraries you compile into your project.** `Cargo.toml` is a crate manifest, not a general dependency manifest. Unlike JS (`package.json`) or Python (`requirements.txt`), it doesn't manage binary tools.
13+
- **Rust ecosystem assumes tools are installed globally** via `cargo install`, Nix, Docker, or OS package managers. This matches systems languages like Go/C++/Zig, not Python/JS.
14+
- **Version-locking tools happens outside Cargo** via devcontainer.json, Dockerfiles, Nix flakes, CI scripts, or a `tools/` workspace crate.
15+
- **Bottom line:** Cargo intentionally separates build tools from build inputs. For reproducible tooling, use devcontainer/Docker/Nix/CI scripts, not `Cargo.toml`.

0 commit comments

Comments
 (0)