gitextract_716k_gfd/ ├── .github/ │ └── workflows/ │ └── ci.yml ├── .gitignore ├── .wr.toml ├── Cargo.toml ├── README.md ├── dprint.json ├── exercises/ │ ├── 01_intro/ │ │ ├── 00_welcome/ │ │ │ ├── Cargo.toml │ │ │ └── src/ │ │ │ └── lib.rs │ │ └── 01_syntax/ │ │ ├── Cargo.toml │ │ └── src/ │ │ └── lib.rs │ ├── 02_basic_calculator/ │ │ ├── 00_intro/ │ │ │ ├── Cargo.toml │ │ │ └── src/ │ │ │ └── lib.rs │ │ ├── 01_integers/ │ │ │ ├── Cargo.toml │ │ │ └── src/ │ │ │ └── lib.rs │ │ ├── 02_variables/ │ │ │ ├── Cargo.toml │ │ │ └── src/ │ │ │ └── lib.rs │ │ ├── 03_if_else/ │ │ │ ├── Cargo.toml │ │ │ └── src/ │ │ │ └── lib.rs │ │ ├── 04_panics/ │ │ │ ├── Cargo.toml │ │ │ └── src/ │ │ │ └── lib.rs │ │ ├── 05_factorial/ │ │ │ ├── Cargo.toml │ │ │ └── src/ │ │ │ └── lib.rs │ │ ├── 06_while/ │ │ │ ├── Cargo.toml │ │ │ └── src/ │ │ │ └── lib.rs │ │ ├── 07_for/ │ │ │ ├── Cargo.toml │ │ │ └── src/ │ │ │ └── lib.rs │ │ ├── 08_overflow/ │ │ │ ├── Cargo.toml │ │ │ └── src/ │ │ │ └── lib.rs │ │ ├── 09_saturating/ │ │ │ ├── Cargo.toml │ │ │ └── src/ │ │ │ └── lib.rs │ │ └── 10_as_casting/ │ │ ├── Cargo.toml │ │ └── src/ │ │ └── lib.rs │ ├── 03_ticket_v1/ │ │ ├── 00_intro/ │ │ │ ├── Cargo.toml │ │ │ └── src/ │ │ │ └── lib.rs │ │ ├── 01_struct/ │ │ │ ├── Cargo.toml │ │ │ └── src/ │ │ │ └── lib.rs │ │ ├── 02_validation/ │ │ │ ├── Cargo.toml │ │ │ └── src/ │ │ │ └── lib.rs │ │ ├── 03_modules/ │ │ │ ├── Cargo.toml │ │ │ └── src/ │ │ │ └── lib.rs │ │ ├── 04_visibility/ │ │ │ ├── Cargo.toml │ │ │ └── src/ │ │ │ └── lib.rs │ │ ├── 05_encapsulation/ │ │ │ ├── Cargo.toml │ │ │ └── src/ │ │ │ └── lib.rs │ │ ├── 06_ownership/ │ │ │ ├── Cargo.toml │ │ │ └── src/ │ │ │ └── lib.rs │ │ ├── 07_setters/ │ │ │ ├── Cargo.toml │ │ │ └── src/ │ │ │ └── lib.rs │ │ ├── 08_stack/ │ │ │ ├── Cargo.toml │ │ │ └── src/ │ │ │ └── lib.rs │ │ ├── 09_heap/ │ │ │ ├── Cargo.toml │ │ │ └── src/ │ │ │ └── lib.rs │ │ ├── 10_references_in_memory/ │ │ │ ├── Cargo.toml │ │ │ └── src/ │ │ │ └── lib.rs │ │ ├── 11_destructor/ │ │ │ ├── Cargo.toml │ │ │ └── src/ │ │ │ └── lib.rs │ │ └── 12_outro/ │ │ ├── Cargo.toml │ │ ├── src/ │ │ │ └── lib.rs │ │ └── tests/ │ │ └── integration.rs │ ├── 04_traits/ │ │ ├── 00_intro/ │ │ │ ├── Cargo.toml │ │ │ └── src/ │ │ │ └── lib.rs │ │ ├── 01_trait/ │ │ │ ├── Cargo.toml │ │ │ └── src/ │ │ │ └── lib.rs │ │ ├── 02_orphan_rule/ │ │ │ ├── Cargo.toml │ │ │ └── src/ │ │ │ └── lib.rs │ │ ├── 03_operator_overloading/ │ │ │ ├── Cargo.toml │ │ │ └── src/ │ │ │ └── lib.rs │ │ ├── 04_derive/ │ │ │ ├── Cargo.toml │ │ │ └── src/ │ │ │ └── lib.rs │ │ ├── 05_trait_bounds/ │ │ │ ├── Cargo.toml │ │ │ └── src/ │ │ │ └── lib.rs │ │ ├── 06_str_slice/ │ │ │ ├── Cargo.toml │ │ │ └── src/ │ │ │ └── lib.rs │ │ ├── 07_deref/ │ │ │ ├── Cargo.toml │ │ │ └── src/ │ │ │ └── lib.rs │ │ ├── 08_sized/ │ │ │ ├── Cargo.toml │ │ │ └── src/ │ │ │ └── lib.rs │ │ ├── 09_from/ │ │ │ ├── Cargo.toml │ │ │ └── src/ │ │ │ └── lib.rs │ │ ├── 10_assoc_vs_generic/ │ │ │ ├── Cargo.toml │ │ │ └── src/ │ │ │ └── lib.rs │ │ ├── 11_clone/ │ │ │ ├── Cargo.toml │ │ │ └── src/ │ │ │ └── lib.rs │ │ ├── 12_copy/ │ │ │ ├── Cargo.toml │ │ │ └── src/ │ │ │ └── lib.rs │ │ ├── 13_drop/ │ │ │ ├── Cargo.toml │ │ │ └── src/ │ │ │ └── lib.rs │ │ └── 14_outro/ │ │ ├── Cargo.toml │ │ ├── src/ │ │ │ └── lib.rs │ │ └── tests/ │ │ └── integration.rs │ ├── 05_ticket_v2/ │ │ ├── 00_intro/ │ │ │ ├── Cargo.toml │ │ │ └── src/ │ │ │ └── lib.rs │ │ ├── 01_enum/ │ │ │ ├── Cargo.toml │ │ │ └── src/ │ │ │ └── lib.rs │ │ ├── 02_match/ │ │ │ ├── Cargo.toml │ │ │ └── src/ │ │ │ └── lib.rs │ │ ├── 03_variants_with_data/ │ │ │ ├── Cargo.toml │ │ │ └── src/ │ │ │ └── lib.rs │ │ ├── 04_if_let/ │ │ │ ├── Cargo.toml │ │ │ └── src/ │ │ │ └── lib.rs │ │ ├── 05_nullability/ │ │ │ ├── Cargo.toml │ │ │ └── src/ │ │ │ └── lib.rs │ │ ├── 06_fallibility/ │ │ │ ├── Cargo.toml │ │ │ └── src/ │ │ │ └── lib.rs │ │ ├── 07_unwrap/ │ │ │ ├── Cargo.toml │ │ │ └── src/ │ │ │ └── lib.rs │ │ ├── 08_error_enums/ │ │ │ ├── Cargo.toml │ │ │ └── src/ │ │ │ └── lib.rs │ │ ├── 09_error_trait/ │ │ │ ├── Cargo.toml │ │ │ └── src/ │ │ │ └── lib.rs │ │ ├── 10_packages/ │ │ │ ├── Cargo.toml │ │ │ └── src/ │ │ │ └── main.rs │ │ ├── 11_dependencies/ │ │ │ ├── Cargo.toml │ │ │ └── src/ │ │ │ └── lib.rs │ │ ├── 12_thiserror/ │ │ │ ├── Cargo.toml │ │ │ └── src/ │ │ │ └── lib.rs │ │ ├── 13_try_from/ │ │ │ ├── Cargo.toml │ │ │ └── src/ │ │ │ └── lib.rs │ │ ├── 14_source/ │ │ │ ├── Cargo.toml │ │ │ └── src/ │ │ │ ├── lib.rs │ │ │ └── status.rs │ │ └── 15_outro/ │ │ ├── Cargo.toml │ │ └── src/ │ │ ├── description.rs │ │ ├── lib.rs │ │ ├── status.rs │ │ └── title.rs │ ├── 06_ticket_management/ │ │ ├── 00_intro/ │ │ │ ├── Cargo.toml │ │ │ └── src/ │ │ │ └── lib.rs │ │ ├── 01_arrays/ │ │ │ ├── Cargo.toml │ │ │ └── src/ │ │ │ └── lib.rs │ │ ├── 02_vec/ │ │ │ ├── Cargo.toml │ │ │ └── src/ │ │ │ └── lib.rs │ │ ├── 03_resizing/ │ │ │ ├── Cargo.toml │ │ │ └── src/ │ │ │ └── lib.rs │ │ ├── 04_iterators/ │ │ │ ├── Cargo.toml │ │ │ └── src/ │ │ │ └── lib.rs │ │ ├── 05_iter/ │ │ │ ├── Cargo.toml │ │ │ └── src/ │ │ │ └── lib.rs │ │ ├── 06_lifetimes/ │ │ │ ├── Cargo.toml │ │ │ └── src/ │ │ │ └── lib.rs │ │ ├── 07_combinators/ │ │ │ ├── Cargo.toml │ │ │ └── src/ │ │ │ └── lib.rs │ │ ├── 08_impl_trait/ │ │ │ ├── Cargo.toml │ │ │ └── src/ │ │ │ └── lib.rs │ │ ├── 09_impl_trait_2/ │ │ │ ├── Cargo.toml │ │ │ └── src/ │ │ │ └── lib.rs │ │ ├── 10_slices/ │ │ │ ├── Cargo.toml │ │ │ └── src/ │ │ │ └── lib.rs │ │ ├── 11_mutable_slices/ │ │ │ ├── Cargo.toml │ │ │ └── src/ │ │ │ └── lib.rs │ │ ├── 12_two_states/ │ │ │ ├── Cargo.toml │ │ │ └── src/ │ │ │ └── lib.rs │ │ ├── 13_index/ │ │ │ ├── Cargo.toml │ │ │ └── src/ │ │ │ └── lib.rs │ │ ├── 14_index_mut/ │ │ │ ├── Cargo.toml │ │ │ └── src/ │ │ │ └── lib.rs │ │ ├── 15_hashmap/ │ │ │ ├── Cargo.toml │ │ │ └── src/ │ │ │ └── lib.rs │ │ └── 16_btreemap/ │ │ ├── Cargo.toml │ │ └── src/ │ │ └── lib.rs │ ├── 07_threads/ │ │ ├── 00_intro/ │ │ │ ├── Cargo.toml │ │ │ └── src/ │ │ │ └── lib.rs │ │ ├── 01_threads/ │ │ │ ├── Cargo.toml │ │ │ └── src/ │ │ │ └── lib.rs │ │ ├── 02_static/ │ │ │ ├── Cargo.toml │ │ │ └── src/ │ │ │ └── lib.rs │ │ ├── 03_leak/ │ │ │ ├── Cargo.toml │ │ │ └── src/ │ │ │ └── lib.rs │ │ ├── 04_scoped_threads/ │ │ │ ├── Cargo.toml │ │ │ └── src/ │ │ │ └── lib.rs │ │ ├── 05_channels/ │ │ │ ├── Cargo.toml │ │ │ ├── src/ │ │ │ │ ├── data.rs │ │ │ │ ├── lib.rs │ │ │ │ └── store.rs │ │ │ └── tests/ │ │ │ └── insert.rs │ │ ├── 06_interior_mutability/ │ │ │ ├── Cargo.toml │ │ │ └── src/ │ │ │ └── lib.rs │ │ ├── 07_ack/ │ │ │ ├── Cargo.toml │ │ │ ├── src/ │ │ │ │ ├── data.rs │ │ │ │ ├── lib.rs │ │ │ │ └── store.rs │ │ │ └── tests/ │ │ │ └── insert.rs │ │ ├── 08_client/ │ │ │ ├── Cargo.toml │ │ │ ├── src/ │ │ │ │ ├── data.rs │ │ │ │ ├── lib.rs │ │ │ │ └── store.rs │ │ │ └── tests/ │ │ │ └── insert.rs │ │ ├── 09_bounded/ │ │ │ ├── Cargo.toml │ │ │ ├── src/ │ │ │ │ ├── data.rs │ │ │ │ ├── lib.rs │ │ │ │ └── store.rs │ │ │ └── tests/ │ │ │ └── insert.rs │ │ ├── 10_patch/ │ │ │ ├── Cargo.toml │ │ │ ├── src/ │ │ │ │ ├── data.rs │ │ │ │ ├── lib.rs │ │ │ │ └── store.rs │ │ │ └── tests/ │ │ │ └── check.rs │ │ ├── 11_locks/ │ │ │ ├── Cargo.toml │ │ │ ├── src/ │ │ │ │ ├── data.rs │ │ │ │ ├── lib.rs │ │ │ │ └── store.rs │ │ │ └── tests/ │ │ │ └── check.rs │ │ ├── 12_rw_lock/ │ │ │ ├── Cargo.toml │ │ │ ├── src/ │ │ │ │ ├── data.rs │ │ │ │ ├── lib.rs │ │ │ │ └── store.rs │ │ │ └── tests/ │ │ │ └── check.rs │ │ ├── 13_without_channels/ │ │ │ ├── Cargo.toml │ │ │ ├── src/ │ │ │ │ ├── data.rs │ │ │ │ ├── lib.rs │ │ │ │ └── store.rs │ │ │ └── tests/ │ │ │ └── check.rs │ │ └── 14_sync/ │ │ ├── Cargo.toml │ │ └── src/ │ │ └── lib.rs │ └── 08_futures/ │ ├── 00_intro/ │ │ ├── Cargo.toml │ │ └── src/ │ │ └── lib.rs │ ├── 01_async_fn/ │ │ ├── Cargo.toml │ │ └── src/ │ │ └── lib.rs │ ├── 02_spawn/ │ │ ├── Cargo.toml │ │ └── src/ │ │ └── lib.rs │ ├── 03_runtime/ │ │ ├── Cargo.toml │ │ └── src/ │ │ └── lib.rs │ ├── 04_future/ │ │ ├── Cargo.toml │ │ └── src/ │ │ └── lib.rs │ ├── 05_blocking/ │ │ ├── Cargo.toml │ │ └── src/ │ │ └── lib.rs │ ├── 06_async_aware_primitives/ │ │ ├── Cargo.toml │ │ └── src/ │ │ └── lib.rs │ ├── 07_cancellation/ │ │ ├── Cargo.toml │ │ └── src/ │ │ └── lib.rs │ └── 08_outro/ │ ├── Cargo.toml │ └── src/ │ └── lib.rs ├── helpers/ │ ├── common/ │ │ ├── Cargo.toml │ │ └── src/ │ │ └── lib.rs │ ├── json2redirects.sh │ ├── mdbook-exercise-linker/ │ │ ├── Cargo.toml │ │ └── src/ │ │ ├── lib.rs │ │ └── main.rs │ ├── mdbook-link-shortener/ │ │ ├── Cargo.toml │ │ └── src/ │ │ ├── lib.rs │ │ └── main.rs │ └── ticket_fields/ │ ├── Cargo.toml │ └── src/ │ ├── description.rs │ ├── lib.rs │ ├── test_helpers.rs │ └── title.rs └── site/ └── _redirects