├── .github └── workflows │ └── mdbook.yml ├── .gitignore ├── Cargo.lock ├── Cargo.toml ├── LICENSE-APACHE ├── LICENSE-MIT ├── PROGRESS ├── README.md ├── book ├── book.toml └── src │ ├── README.md │ ├── SUMMARY.md │ ├── chapter_0.md │ ├── chapter_1.md │ ├── chapter_10.md │ ├── chapter_2.md │ ├── chapter_3.md │ ├── chapter_4.md │ ├── chapter_5.md │ ├── chapter_6.md │ ├── chapter_7.md │ ├── chapter_8.md │ └── chapter_9.md ├── exercises ├── 00_welcome │ └── README.md ├── 01_lifetimes_needed │ └── README.md ├── 02_lifetimes_explained │ ├── README.md │ ├── exercise │ │ ├── Cargo.lock │ │ ├── Cargo.toml │ │ └── src │ │ │ └── lib.rs │ └── solutions │ │ ├── Cargo.lock │ │ ├── Cargo.toml │ │ └── src │ │ └── lib.rs ├── 03_lifetime_elision │ ├── README.md │ ├── exercise │ │ ├── Cargo.lock │ │ ├── Cargo.toml │ │ └── src │ │ │ └── lib.rs │ └── solutions │ │ ├── Cargo.lock │ │ ├── Cargo.toml │ │ └── src │ │ └── lib.rs ├── 04_mutable_references_and_containers │ ├── README.md │ ├── exercise │ │ ├── Cargo.lock │ │ ├── Cargo.toml │ │ └── src │ │ │ └── lib.rs │ └── solutions │ │ ├── Cargo.lock │ │ ├── Cargo.toml │ │ └── src │ │ └── lib.rs ├── 05_lifetimes_on_types │ ├── README.md │ ├── exercise │ │ ├── Cargo.lock │ │ ├── Cargo.toml │ │ └── src │ │ │ └── lib.rs │ └── solutions │ │ ├── Cargo.lock │ │ ├── Cargo.toml │ │ └── src │ │ └── lib.rs ├── 06_lifetimes_on_impls │ └── README.md ├── 07_special_lifetimes │ ├── README.md │ ├── exercise │ │ ├── Cargo.toml │ │ └── src │ │ │ └── main.rs │ └── solutions │ │ ├── Cargo.toml │ │ └── src │ │ └── main.rs ├── 08_finale │ ├── README.md │ ├── exercise │ │ ├── Cargo.toml │ │ └── src │ │ │ └── main.rs │ └── solutions │ │ ├── Cargo.toml │ │ └── src │ │ └── main.rs ├── 09_further_reading │ └── README.md ├── 10_footnote_lifetimes_on_trait_objects │ └── README.md └── fun_examples │ ├── example.rs │ └── matched_lifetimes.rs └── src └── main.rs /.github/workflows/mdbook.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tfpk/lifetimekata/HEAD/.github/workflows/mdbook.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tfpk/lifetimekata/HEAD/.gitignore -------------------------------------------------------------------------------- /Cargo.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tfpk/lifetimekata/HEAD/Cargo.lock -------------------------------------------------------------------------------- /Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tfpk/lifetimekata/HEAD/Cargo.toml -------------------------------------------------------------------------------- /LICENSE-APACHE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tfpk/lifetimekata/HEAD/LICENSE-APACHE -------------------------------------------------------------------------------- /LICENSE-MIT: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tfpk/lifetimekata/HEAD/LICENSE-MIT -------------------------------------------------------------------------------- /PROGRESS: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tfpk/lifetimekata/HEAD/PROGRESS -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tfpk/lifetimekata/HEAD/README.md -------------------------------------------------------------------------------- /book/book.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tfpk/lifetimekata/HEAD/book/book.toml -------------------------------------------------------------------------------- /book/src/README.md: -------------------------------------------------------------------------------- 1 | ../../README.md -------------------------------------------------------------------------------- /book/src/SUMMARY.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tfpk/lifetimekata/HEAD/book/src/SUMMARY.md -------------------------------------------------------------------------------- /book/src/chapter_0.md: -------------------------------------------------------------------------------- 1 | ../../exercises/00_welcome/README.md -------------------------------------------------------------------------------- /book/src/chapter_1.md: -------------------------------------------------------------------------------- 1 | ../../exercises/01_lifetimes_needed/README.md -------------------------------------------------------------------------------- /book/src/chapter_10.md: -------------------------------------------------------------------------------- 1 | ../../exercises/10_footnote_lifetimes_on_trait_objects/README.md -------------------------------------------------------------------------------- /book/src/chapter_2.md: -------------------------------------------------------------------------------- 1 | ../../exercises/02_lifetimes_explained/README.md -------------------------------------------------------------------------------- /book/src/chapter_3.md: -------------------------------------------------------------------------------- 1 | ../../exercises/03_lifetime_elision/README.md -------------------------------------------------------------------------------- /book/src/chapter_4.md: -------------------------------------------------------------------------------- 1 | ../../exercises/04_mutable_references_and_containers/README.md -------------------------------------------------------------------------------- /book/src/chapter_5.md: -------------------------------------------------------------------------------- 1 | ../../exercises/05_lifetimes_on_types/README.md -------------------------------------------------------------------------------- /book/src/chapter_6.md: -------------------------------------------------------------------------------- 1 | ../../exercises/06_lifetimes_on_impls/README.md -------------------------------------------------------------------------------- /book/src/chapter_7.md: -------------------------------------------------------------------------------- 1 | ../../exercises/07_special_lifetimes/README.md -------------------------------------------------------------------------------- /book/src/chapter_8.md: -------------------------------------------------------------------------------- 1 | ../../exercises/08_finale/README.md -------------------------------------------------------------------------------- /book/src/chapter_9.md: -------------------------------------------------------------------------------- 1 | ../../exercises/09_further_reading/README.md -------------------------------------------------------------------------------- /exercises/00_welcome/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tfpk/lifetimekata/HEAD/exercises/00_welcome/README.md -------------------------------------------------------------------------------- /exercises/01_lifetimes_needed/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tfpk/lifetimekata/HEAD/exercises/01_lifetimes_needed/README.md -------------------------------------------------------------------------------- /exercises/02_lifetimes_explained/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tfpk/lifetimekata/HEAD/exercises/02_lifetimes_explained/README.md -------------------------------------------------------------------------------- /exercises/02_lifetimes_explained/exercise/Cargo.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tfpk/lifetimekata/HEAD/exercises/02_lifetimes_explained/exercise/Cargo.lock -------------------------------------------------------------------------------- /exercises/02_lifetimes_explained/exercise/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tfpk/lifetimekata/HEAD/exercises/02_lifetimes_explained/exercise/Cargo.toml -------------------------------------------------------------------------------- /exercises/02_lifetimes_explained/exercise/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tfpk/lifetimekata/HEAD/exercises/02_lifetimes_explained/exercise/src/lib.rs -------------------------------------------------------------------------------- /exercises/02_lifetimes_explained/solutions/Cargo.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tfpk/lifetimekata/HEAD/exercises/02_lifetimes_explained/solutions/Cargo.lock -------------------------------------------------------------------------------- /exercises/02_lifetimes_explained/solutions/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tfpk/lifetimekata/HEAD/exercises/02_lifetimes_explained/solutions/Cargo.toml -------------------------------------------------------------------------------- /exercises/02_lifetimes_explained/solutions/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tfpk/lifetimekata/HEAD/exercises/02_lifetimes_explained/solutions/src/lib.rs -------------------------------------------------------------------------------- /exercises/03_lifetime_elision/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tfpk/lifetimekata/HEAD/exercises/03_lifetime_elision/README.md -------------------------------------------------------------------------------- /exercises/03_lifetime_elision/exercise/Cargo.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tfpk/lifetimekata/HEAD/exercises/03_lifetime_elision/exercise/Cargo.lock -------------------------------------------------------------------------------- /exercises/03_lifetime_elision/exercise/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tfpk/lifetimekata/HEAD/exercises/03_lifetime_elision/exercise/Cargo.toml -------------------------------------------------------------------------------- /exercises/03_lifetime_elision/exercise/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tfpk/lifetimekata/HEAD/exercises/03_lifetime_elision/exercise/src/lib.rs -------------------------------------------------------------------------------- /exercises/03_lifetime_elision/solutions/Cargo.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tfpk/lifetimekata/HEAD/exercises/03_lifetime_elision/solutions/Cargo.lock -------------------------------------------------------------------------------- /exercises/03_lifetime_elision/solutions/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tfpk/lifetimekata/HEAD/exercises/03_lifetime_elision/solutions/Cargo.toml -------------------------------------------------------------------------------- /exercises/03_lifetime_elision/solutions/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tfpk/lifetimekata/HEAD/exercises/03_lifetime_elision/solutions/src/lib.rs -------------------------------------------------------------------------------- /exercises/04_mutable_references_and_containers/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tfpk/lifetimekata/HEAD/exercises/04_mutable_references_and_containers/README.md -------------------------------------------------------------------------------- /exercises/04_mutable_references_and_containers/exercise/Cargo.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tfpk/lifetimekata/HEAD/exercises/04_mutable_references_and_containers/exercise/Cargo.lock -------------------------------------------------------------------------------- /exercises/04_mutable_references_and_containers/exercise/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tfpk/lifetimekata/HEAD/exercises/04_mutable_references_and_containers/exercise/Cargo.toml -------------------------------------------------------------------------------- /exercises/04_mutable_references_and_containers/exercise/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tfpk/lifetimekata/HEAD/exercises/04_mutable_references_and_containers/exercise/src/lib.rs -------------------------------------------------------------------------------- /exercises/04_mutable_references_and_containers/solutions/Cargo.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tfpk/lifetimekata/HEAD/exercises/04_mutable_references_and_containers/solutions/Cargo.lock -------------------------------------------------------------------------------- /exercises/04_mutable_references_and_containers/solutions/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tfpk/lifetimekata/HEAD/exercises/04_mutable_references_and_containers/solutions/Cargo.toml -------------------------------------------------------------------------------- /exercises/04_mutable_references_and_containers/solutions/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tfpk/lifetimekata/HEAD/exercises/04_mutable_references_and_containers/solutions/src/lib.rs -------------------------------------------------------------------------------- /exercises/05_lifetimes_on_types/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tfpk/lifetimekata/HEAD/exercises/05_lifetimes_on_types/README.md -------------------------------------------------------------------------------- /exercises/05_lifetimes_on_types/exercise/Cargo.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tfpk/lifetimekata/HEAD/exercises/05_lifetimes_on_types/exercise/Cargo.lock -------------------------------------------------------------------------------- /exercises/05_lifetimes_on_types/exercise/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tfpk/lifetimekata/HEAD/exercises/05_lifetimes_on_types/exercise/Cargo.toml -------------------------------------------------------------------------------- /exercises/05_lifetimes_on_types/exercise/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tfpk/lifetimekata/HEAD/exercises/05_lifetimes_on_types/exercise/src/lib.rs -------------------------------------------------------------------------------- /exercises/05_lifetimes_on_types/solutions/Cargo.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tfpk/lifetimekata/HEAD/exercises/05_lifetimes_on_types/solutions/Cargo.lock -------------------------------------------------------------------------------- /exercises/05_lifetimes_on_types/solutions/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tfpk/lifetimekata/HEAD/exercises/05_lifetimes_on_types/solutions/Cargo.toml -------------------------------------------------------------------------------- /exercises/05_lifetimes_on_types/solutions/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tfpk/lifetimekata/HEAD/exercises/05_lifetimes_on_types/solutions/src/lib.rs -------------------------------------------------------------------------------- /exercises/06_lifetimes_on_impls/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tfpk/lifetimekata/HEAD/exercises/06_lifetimes_on_impls/README.md -------------------------------------------------------------------------------- /exercises/07_special_lifetimes/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tfpk/lifetimekata/HEAD/exercises/07_special_lifetimes/README.md -------------------------------------------------------------------------------- /exercises/07_special_lifetimes/exercise/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tfpk/lifetimekata/HEAD/exercises/07_special_lifetimes/exercise/Cargo.toml -------------------------------------------------------------------------------- /exercises/07_special_lifetimes/exercise/src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tfpk/lifetimekata/HEAD/exercises/07_special_lifetimes/exercise/src/main.rs -------------------------------------------------------------------------------- /exercises/07_special_lifetimes/solutions/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tfpk/lifetimekata/HEAD/exercises/07_special_lifetimes/solutions/Cargo.toml -------------------------------------------------------------------------------- /exercises/07_special_lifetimes/solutions/src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tfpk/lifetimekata/HEAD/exercises/07_special_lifetimes/solutions/src/main.rs -------------------------------------------------------------------------------- /exercises/08_finale/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tfpk/lifetimekata/HEAD/exercises/08_finale/README.md -------------------------------------------------------------------------------- /exercises/08_finale/exercise/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tfpk/lifetimekata/HEAD/exercises/08_finale/exercise/Cargo.toml -------------------------------------------------------------------------------- /exercises/08_finale/exercise/src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tfpk/lifetimekata/HEAD/exercises/08_finale/exercise/src/main.rs -------------------------------------------------------------------------------- /exercises/08_finale/solutions/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tfpk/lifetimekata/HEAD/exercises/08_finale/solutions/Cargo.toml -------------------------------------------------------------------------------- /exercises/08_finale/solutions/src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tfpk/lifetimekata/HEAD/exercises/08_finale/solutions/src/main.rs -------------------------------------------------------------------------------- /exercises/09_further_reading/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tfpk/lifetimekata/HEAD/exercises/09_further_reading/README.md -------------------------------------------------------------------------------- /exercises/10_footnote_lifetimes_on_trait_objects/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tfpk/lifetimekata/HEAD/exercises/10_footnote_lifetimes_on_trait_objects/README.md -------------------------------------------------------------------------------- /exercises/fun_examples/example.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tfpk/lifetimekata/HEAD/exercises/fun_examples/example.rs -------------------------------------------------------------------------------- /exercises/fun_examples/matched_lifetimes.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tfpk/lifetimekata/HEAD/exercises/fun_examples/matched_lifetimes.rs -------------------------------------------------------------------------------- /src/main.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | println!("Hello, world!"); 3 | } 4 | --------------------------------------------------------------------------------