workspace/src/%.rs: src/%.rs Makefile dup-unimpl.sed
@mkdir -p .tmp/docs
@echo "$< -> $@"
- @echo "// ***Remember to enable/add this part in \`main.rs\`!***" > $@
- @echo >> $@
- @sed '/^\s*\/\/@/d;s|\(\s*\)\S.*/\*@\*/|\1unimplemented!()|' $< | sed -f dup-unimpl.sed >> $@
+ @sed '/^\s*\/\/@/d;s|\(\s*\)\S.*/\*@\*/|\1unimplemented!()|' $< | sed -f dup-unimpl.sed > $@
workspace/src/main.rs:
# Don't touch this file
# Crates
-crates:
+crates: $(WORKSPACEFILES)
@cargo build
@cd solutions && cargo build
@cd workspace && cargo build
// (You can also execute it with `cargo run`, but you'll need to do some work before this will succeed.)
//
// If you later want to update the course, do `git pull` (or re-download the zip archive).
-// Then copy the files from `workspace/src/` to your workspace that you did not yet work on. (Of course you can also
+// Then copy the files from `workspace/src/` to your workspace that you did not yet work on. Definitely
+// copy `main.rs` to make sure all the new files are actually compiled. (Of course you can also
// copy the rest, but that would replace all your hard work by the original files with all the holes!)
// Course Content
#![allow(dead_code, unused_imports, unused_variables, unused_mut)]
-// Only the files imported here will be compiled. Remember to add or enable new
-// parts here as you progress through the course.
+// Only the files imported here will be compiled.
mod part00;
-// mod part01;
-// mod part02;
-// mod part03;
+mod part01;
+mod part02;
+mod part03;
+mod part04;
+mod part05;
+mod part06;
+mod part07;
// This decides which part is actually run.
fn main() {
-// ***Remember to enable/add this part in `main.rs`!***
-
// Rust-101, Part 00: Algebraic datatypes
// ======================================
-// ***Remember to enable/add this part in `main.rs`!***
-
// Rust-101, Part 01: Expressions, Inherent methods
// ================================================
-// ***Remember to enable/add this part in `main.rs`!***
-
// Rust-101, Part 02: Generic types, Traits
// ========================================
-// ***Remember to enable/add this part in `main.rs`!***
-
// Rust-101, Part 03: Input
// ========================
-// ***Remember to enable/add this part in `main.rs`!***
-
// Rust-101, Part 04: Ownership, Borrowing
// =======================================
-// ***Remember to enable/add this part in `main.rs`!***
-
// Rust-101, Part 05: Clone
// ========================
-// ***Remember to enable/add this part in `main.rs`!***
-
// Rust-101, Part 06: Copy, Lifetimes
// ==================================
-// ***Remember to enable/add this part in `main.rs`!***
-
// Rust-101, Part 07: Operator Overloading, Tests, Formatting
// ==========================================================
-// ***Remember to enable/add this part in `main.rs`!***
-
// Rust-101, Part 08: Associated Types, Modules (WIP)
// ==================================================
-// ***Remember to enable/add this part in `main.rs`!***
-
// Rust-101, Part 09: Iterators (WIP)
// =================================