install a package
cargo install name
update a package
cargo update name
or leave out name to update all.
create project
cargo new name
build and run
cargo run
cargo build
# or with optimizations:
cargo build --release
# or simply check that it could compile
# often faster than actually compiling:
cargo check
test
cargo test
show output
By default rust will hide the stdout from your tests. You can show it with:
cargo test -- --show-output
consecutively
Tests are normally each run in their own thread. If you would like to instead run all the tests consecutively:
cargo test -- --test-threads=1
a single test
It's actually a pattern so you can use this to match any test which contains the name "add":
cargo test add
documentation
Build and open documentation provided by local dependencies.
cargo doc --open
show result of macro and #[derive] expansion
This can be done with the cargo-expand tool:
cargo install cargo-expand
cargo expand
profiles
In rust, release profiles are predefined, but customizable profiles with configurations that allow changing things like the level of optimization used in producing your binary.
By default there are release and dev profiles which set the opt-level:
[profile.dev]
opt-level = 0
[profile.release]
opt-level = 3