Rust
Learn how to solve CodeCrafters challenges in Rust
New to Rust? We recommend checking out Rust by Example to get up to speed.
Local development
To run the code for your challenge locally, you’ll need cargo
installed. Our test runners use version 1.76
(as of April 2024).
The script for your challenge (like ./your_bittorrent.sh
) will automatically compile and run your code using cargo run
. It’ll
look something like this:
#!/bin/sh
exec cargo run \
--quiet \
--release \
--target-dir=/tmp/codecrafters-bittorrent-target \
--manifest-path $(dirname "$0")/Cargo.toml -- "$@"
File structure
- The files for your solution are placed in the
src
directory. src/main.rs
contains themain
function, which is what the test runner executes.
Adding more files
You can add more files and directories to the src
directory. The test runner will include them when compiling your code.
Rust uses modules to organize code. For example, to define the foo
module, create a file at src/foo.rs
.
You can use functions and variables from foo.rs
in your main code like so:
Remember to make foo()
accessible to main.rs
by adding the pub
identifier
Refer to the Rust documentation for more details.
Adding dependencies
You can add dependencies to your program using cargo add
.
For example, to add the rand
crate, run the following command:
cargo add rand
This command will automatically find the latest version of the rand
crate and add it to your Cargo.toml
file:
[dependencies]
rand = "0.8.5"
It’ll also make changes to your Cargo.lock
file.
Was this page helpful?