Skip to content

Learning Rust by solving advent of code challenges (Streaming live on Twitch every Monday)

License

Notifications You must be signed in to change notification settings

lmammino/rust-advent

Repository files navigation

Rust advent 🦀 🐚

Rust

Learning Rust by implementing solutions for Advent of Code problems.

🎥 HEY, we are live-streaming our attempts to solve the exercises in this repo! Check us out on:

Eugen, Roberto and Luciano trying to solve Advent of Code in Rust

And remember to follow and subscribe! 😎 😋

Requirements

This repo contains some code that is bespoke to Raspberry Pi Pico, therefore you need to install some additional dependencies:

rustup target install thumbv6m-none-eabi

and

cargo install flip-link

How to run tests for all exercises

Simply execute:

cargo test

If you want to run only one test for a given part of an exercise you can run something like this:

cargo test --package ex01 --lib --all-features -- tests::part_2

Create a new exercise

New: You can now use the scaffold.mjs script to create a new exercise. Simply run:

./scaffold.mjs <year> <day>

(Note: it requires zx to be installed).


Alternatively, you can create a new exercise manually by following these steps:

Cd into the specific year folder (e.g. y2020) and run:

cargo new --lib exNN

Replace NN with the number of exercise for the given year. For instance:

cargo new --lib ex01

Finally add the new subproject in the workspace by editing the main Cargo.toml. For instance, assuming you just created y2020/ex10:

[workspace]
members = [
  "y2020/ex01",
  # ...
  "y2020/ex10" # <- new entry
]

Contributing

Everyone is very welcome to contribute to this project. You can contribute just by submitting bugs or suggesting improvements by opening an issue on GitHub.

License

Licensed under MIT License. © Luciano Mammino, Roberto Gambuzzi, Eugen Serbanescu, Stefano Abalsamo.