├── .github └── workflows │ └── build-and-test.yml ├── .gitignore ├── .rustfmt.toml ├── LICENSE ├── README.md ├── ch02 ├── describe-type │ ├── Cargo.lock │ ├── Cargo.toml │ └── src │ │ └── main.rs ├── generic-basics │ ├── Cargo.lock │ ├── Cargo.toml │ └── src │ │ └── main.rs ├── pumpkin │ ├── Cargo.lock │ ├── Cargo.toml │ └── src │ │ └── main.rs ├── rectangle-square │ ├── Cargo.lock │ ├── Cargo.toml │ └── src │ │ └── main.rs └── trait-objects │ ├── Cargo.lock │ ├── Cargo.toml │ └── src │ └── main.rs ├── ch03 ├── basic-pattern-matching │ ├── .gitignore │ ├── Cargo.lock │ ├── Cargo.toml │ └── src │ │ └── main.rs ├── closures │ ├── Cargo.lock │ ├── Cargo.toml │ └── src │ │ └── main.rs ├── functional-tour │ ├── Cargo.lock │ ├── Cargo.toml │ └── src │ │ └── main.rs └── linkedlist-iterator │ ├── Cargo.lock │ ├── Cargo.toml │ └── src │ └── main.rs ├── ch04 ├── global-vars │ ├── Cargo.lock │ ├── Cargo.toml │ └── src │ │ └── main.rs ├── pass-by-reference │ ├── Cargo.lock │ ├── Cargo.toml │ └── src │ │ └── main.rs ├── pass-by-value │ ├── Cargo.lock │ ├── Cargo.toml │ └── src │ │ └── main.rs ├── pizza │ ├── Cargo.lock │ ├── Cargo.toml │ └── src │ │ └── main.rs ├── raii │ ├── Cargo.lock │ ├── Cargo.toml │ └── src │ │ └── main.rs └── read-nth-line-from-file │ ├── Cargo.lock │ ├── Cargo.toml │ └── src │ └── main.rs ├── ch05 ├── builder │ ├── Cargo.lock │ ├── Cargo.toml │ └── src │ │ └── main.rs ├── callbacks │ ├── Cargo.lock │ ├── Cargo.toml │ └── src │ │ └── main.rs ├── command │ ├── Cargo.lock │ ├── Cargo.toml │ └── src │ │ └── main.rs ├── fluent-builder │ ├── Cargo.lock │ ├── Cargo.toml │ └── src │ │ └── main.rs ├── macros │ ├── Cargo.lock │ ├── Cargo.toml │ └── src │ │ └── main.rs ├── newtypes │ ├── Cargo.lock │ ├── Cargo.toml │ └── src │ │ └── main.rs ├── observer │ ├── Cargo.lock │ ├── Cargo.toml │ └── src │ │ ├── main.rs │ │ ├── observable.rs │ │ ├── observer.rs │ │ └── subject.rs └── optional-arguments │ ├── Cargo.lock │ ├── Cargo.toml │ └── src │ └── main.rs ├── ch06 └── linkedlist │ ├── .gitignore │ ├── Cargo.toml │ ├── src │ └── lib.rs │ └── tests │ └── integration_test.rs ├── ch07 ├── blanket-trait │ ├── Cargo.lock │ ├── Cargo.toml │ └── src │ │ └── main.rs ├── buffer │ ├── Cargo.lock │ ├── Cargo.toml │ └── src │ │ └── main.rs ├── extension-traits │ ├── Cargo.lock │ ├── Cargo.toml │ └── src │ │ └── main.rs ├── marker-traits │ ├── Cargo.lock │ ├── Cargo.toml │ └── src │ │ └── main.rs ├── reference-objects │ ├── Cargo.lock │ ├── Cargo.toml │ └── src │ │ └── main.rs ├── struct-tagging │ ├── Cargo.lock │ ├── Cargo.toml │ └── src │ │ └── main.rs ├── supertraits │ ├── Cargo.lock │ ├── Cargo.toml │ └── src │ │ └── main.rs └── wrapped-vec │ ├── Cargo.lock │ ├── Cargo.toml │ └── src │ └── main.rs ├── ch08 ├── coroutines │ ├── Cargo.lock │ ├── Cargo.toml │ ├── rust-toolchain.toml │ └── src │ │ └── main.rs ├── hello-world │ ├── .gitignore │ ├── Cargo.toml │ ├── src │ │ └── lib.rs │ └── tests │ │ └── test_macro.rs ├── mylib │ ├── .gitignore │ ├── Cargo.toml │ └── src │ │ ├── a.rs │ │ ├── b.rs │ │ ├── lib.rs │ │ └── prelude.rs ├── print-name │ ├── .gitignore │ ├── Cargo.toml │ ├── print_name │ │ ├── Cargo.toml │ │ └── src │ │ │ └── lib.rs │ └── print_name_derive │ │ ├── Cargo.toml │ │ ├── src │ │ └── lib.rs │ │ └── tests │ │ └── test_derive.rs └── session-state-machine │ ├── .gitignore │ ├── Cargo.toml │ └── src │ └── lib.rs ├── ch09 ├── cow │ ├── Cargo.lock │ ├── Cargo.toml │ └── src │ │ └── main.rs ├── immutability-review │ ├── Cargo.lock │ ├── Cargo.toml │ └── src │ │ └── main.rs ├── with-im │ ├── Cargo.lock │ ├── Cargo.toml │ └── src │ │ └── main.rs └── with-rpds │ ├── Cargo.lock │ ├── Cargo.toml │ └── src │ └── main.rs └── ch10 ├── basic-bench ├── .gitignore ├── Cargo.toml ├── rust-toolchain.toml └── src │ └── lib.rs ├── forbid-unsafe ├── Cargo.lock ├── Cargo.toml └── src │ └── main.rs ├── misusing-deref ├── Cargo.lock ├── Cargo.toml └── src │ └── main.rs ├── polymorphism-emulation-deref ├── Cargo.lock ├── Cargo.toml └── src │ └── main.rs ├── polymorphism-emulation-trait-object ├── Cargo.lock ├── Cargo.toml └── src │ └── main.rs ├── unsafe-usage ├── Cargo.lock ├── Cargo.toml └── src │ └── main.rs └── vec-benchmark ├── .gitignore ├── Cargo.toml ├── rust-toolchain.toml └── src └── lib.rs /.github/workflows/build-and-test.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/.github/workflows/build-and-test.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | target/ 2 | -------------------------------------------------------------------------------- /.rustfmt.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/.rustfmt.toml -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/README.md -------------------------------------------------------------------------------- /ch02/describe-type/Cargo.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch02/describe-type/Cargo.lock -------------------------------------------------------------------------------- /ch02/describe-type/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch02/describe-type/Cargo.toml -------------------------------------------------------------------------------- /ch02/describe-type/src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch02/describe-type/src/main.rs -------------------------------------------------------------------------------- /ch02/generic-basics/Cargo.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch02/generic-basics/Cargo.lock -------------------------------------------------------------------------------- /ch02/generic-basics/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch02/generic-basics/Cargo.toml -------------------------------------------------------------------------------- /ch02/generic-basics/src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch02/generic-basics/src/main.rs -------------------------------------------------------------------------------- /ch02/pumpkin/Cargo.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch02/pumpkin/Cargo.lock -------------------------------------------------------------------------------- /ch02/pumpkin/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch02/pumpkin/Cargo.toml -------------------------------------------------------------------------------- /ch02/pumpkin/src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch02/pumpkin/src/main.rs -------------------------------------------------------------------------------- /ch02/rectangle-square/Cargo.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch02/rectangle-square/Cargo.lock -------------------------------------------------------------------------------- /ch02/rectangle-square/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch02/rectangle-square/Cargo.toml -------------------------------------------------------------------------------- /ch02/rectangle-square/src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch02/rectangle-square/src/main.rs -------------------------------------------------------------------------------- /ch02/trait-objects/Cargo.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch02/trait-objects/Cargo.lock -------------------------------------------------------------------------------- /ch02/trait-objects/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch02/trait-objects/Cargo.toml -------------------------------------------------------------------------------- /ch02/trait-objects/src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch02/trait-objects/src/main.rs -------------------------------------------------------------------------------- /ch03/basic-pattern-matching/.gitignore: -------------------------------------------------------------------------------- 1 | filename 2 | -------------------------------------------------------------------------------- /ch03/basic-pattern-matching/Cargo.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch03/basic-pattern-matching/Cargo.lock -------------------------------------------------------------------------------- /ch03/basic-pattern-matching/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch03/basic-pattern-matching/Cargo.toml -------------------------------------------------------------------------------- /ch03/basic-pattern-matching/src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch03/basic-pattern-matching/src/main.rs -------------------------------------------------------------------------------- /ch03/closures/Cargo.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch03/closures/Cargo.lock -------------------------------------------------------------------------------- /ch03/closures/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch03/closures/Cargo.toml -------------------------------------------------------------------------------- /ch03/closures/src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch03/closures/src/main.rs -------------------------------------------------------------------------------- /ch03/functional-tour/Cargo.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch03/functional-tour/Cargo.lock -------------------------------------------------------------------------------- /ch03/functional-tour/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch03/functional-tour/Cargo.toml -------------------------------------------------------------------------------- /ch03/functional-tour/src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch03/functional-tour/src/main.rs -------------------------------------------------------------------------------- /ch03/linkedlist-iterator/Cargo.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch03/linkedlist-iterator/Cargo.lock -------------------------------------------------------------------------------- /ch03/linkedlist-iterator/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch03/linkedlist-iterator/Cargo.toml -------------------------------------------------------------------------------- /ch03/linkedlist-iterator/src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch03/linkedlist-iterator/src/main.rs -------------------------------------------------------------------------------- /ch04/global-vars/Cargo.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch04/global-vars/Cargo.lock -------------------------------------------------------------------------------- /ch04/global-vars/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch04/global-vars/Cargo.toml -------------------------------------------------------------------------------- /ch04/global-vars/src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch04/global-vars/src/main.rs -------------------------------------------------------------------------------- /ch04/pass-by-reference/Cargo.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch04/pass-by-reference/Cargo.lock -------------------------------------------------------------------------------- /ch04/pass-by-reference/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch04/pass-by-reference/Cargo.toml -------------------------------------------------------------------------------- /ch04/pass-by-reference/src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch04/pass-by-reference/src/main.rs -------------------------------------------------------------------------------- /ch04/pass-by-value/Cargo.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch04/pass-by-value/Cargo.lock -------------------------------------------------------------------------------- /ch04/pass-by-value/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch04/pass-by-value/Cargo.toml -------------------------------------------------------------------------------- /ch04/pass-by-value/src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch04/pass-by-value/src/main.rs -------------------------------------------------------------------------------- /ch04/pizza/Cargo.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch04/pizza/Cargo.lock -------------------------------------------------------------------------------- /ch04/pizza/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch04/pizza/Cargo.toml -------------------------------------------------------------------------------- /ch04/pizza/src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch04/pizza/src/main.rs -------------------------------------------------------------------------------- /ch04/raii/Cargo.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch04/raii/Cargo.lock -------------------------------------------------------------------------------- /ch04/raii/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch04/raii/Cargo.toml -------------------------------------------------------------------------------- /ch04/raii/src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch04/raii/src/main.rs -------------------------------------------------------------------------------- /ch04/read-nth-line-from-file/Cargo.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch04/read-nth-line-from-file/Cargo.lock -------------------------------------------------------------------------------- /ch04/read-nth-line-from-file/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch04/read-nth-line-from-file/Cargo.toml -------------------------------------------------------------------------------- /ch04/read-nth-line-from-file/src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch04/read-nth-line-from-file/src/main.rs -------------------------------------------------------------------------------- /ch05/builder/Cargo.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch05/builder/Cargo.lock -------------------------------------------------------------------------------- /ch05/builder/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch05/builder/Cargo.toml -------------------------------------------------------------------------------- /ch05/builder/src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch05/builder/src/main.rs -------------------------------------------------------------------------------- /ch05/callbacks/Cargo.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch05/callbacks/Cargo.lock -------------------------------------------------------------------------------- /ch05/callbacks/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch05/callbacks/Cargo.toml -------------------------------------------------------------------------------- /ch05/callbacks/src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch05/callbacks/src/main.rs -------------------------------------------------------------------------------- /ch05/command/Cargo.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch05/command/Cargo.lock -------------------------------------------------------------------------------- /ch05/command/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch05/command/Cargo.toml -------------------------------------------------------------------------------- /ch05/command/src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch05/command/src/main.rs -------------------------------------------------------------------------------- /ch05/fluent-builder/Cargo.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch05/fluent-builder/Cargo.lock -------------------------------------------------------------------------------- /ch05/fluent-builder/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch05/fluent-builder/Cargo.toml -------------------------------------------------------------------------------- /ch05/fluent-builder/src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch05/fluent-builder/src/main.rs -------------------------------------------------------------------------------- /ch05/macros/Cargo.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch05/macros/Cargo.lock -------------------------------------------------------------------------------- /ch05/macros/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch05/macros/Cargo.toml -------------------------------------------------------------------------------- /ch05/macros/src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch05/macros/src/main.rs -------------------------------------------------------------------------------- /ch05/newtypes/Cargo.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch05/newtypes/Cargo.lock -------------------------------------------------------------------------------- /ch05/newtypes/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch05/newtypes/Cargo.toml -------------------------------------------------------------------------------- /ch05/newtypes/src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch05/newtypes/src/main.rs -------------------------------------------------------------------------------- /ch05/observer/Cargo.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch05/observer/Cargo.lock -------------------------------------------------------------------------------- /ch05/observer/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch05/observer/Cargo.toml -------------------------------------------------------------------------------- /ch05/observer/src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch05/observer/src/main.rs -------------------------------------------------------------------------------- /ch05/observer/src/observable.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch05/observer/src/observable.rs -------------------------------------------------------------------------------- /ch05/observer/src/observer.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch05/observer/src/observer.rs -------------------------------------------------------------------------------- /ch05/observer/src/subject.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch05/observer/src/subject.rs -------------------------------------------------------------------------------- /ch05/optional-arguments/Cargo.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch05/optional-arguments/Cargo.lock -------------------------------------------------------------------------------- /ch05/optional-arguments/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch05/optional-arguments/Cargo.toml -------------------------------------------------------------------------------- /ch05/optional-arguments/src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch05/optional-arguments/src/main.rs -------------------------------------------------------------------------------- /ch06/linkedlist/.gitignore: -------------------------------------------------------------------------------- 1 | Cargo.lock 2 | -------------------------------------------------------------------------------- /ch06/linkedlist/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch06/linkedlist/Cargo.toml -------------------------------------------------------------------------------- /ch06/linkedlist/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch06/linkedlist/src/lib.rs -------------------------------------------------------------------------------- /ch06/linkedlist/tests/integration_test.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch06/linkedlist/tests/integration_test.rs -------------------------------------------------------------------------------- /ch07/blanket-trait/Cargo.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch07/blanket-trait/Cargo.lock -------------------------------------------------------------------------------- /ch07/blanket-trait/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch07/blanket-trait/Cargo.toml -------------------------------------------------------------------------------- /ch07/blanket-trait/src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch07/blanket-trait/src/main.rs -------------------------------------------------------------------------------- /ch07/buffer/Cargo.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch07/buffer/Cargo.lock -------------------------------------------------------------------------------- /ch07/buffer/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch07/buffer/Cargo.toml -------------------------------------------------------------------------------- /ch07/buffer/src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch07/buffer/src/main.rs -------------------------------------------------------------------------------- /ch07/extension-traits/Cargo.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch07/extension-traits/Cargo.lock -------------------------------------------------------------------------------- /ch07/extension-traits/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch07/extension-traits/Cargo.toml -------------------------------------------------------------------------------- /ch07/extension-traits/src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch07/extension-traits/src/main.rs -------------------------------------------------------------------------------- /ch07/marker-traits/Cargo.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch07/marker-traits/Cargo.lock -------------------------------------------------------------------------------- /ch07/marker-traits/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch07/marker-traits/Cargo.toml -------------------------------------------------------------------------------- /ch07/marker-traits/src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch07/marker-traits/src/main.rs -------------------------------------------------------------------------------- /ch07/reference-objects/Cargo.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch07/reference-objects/Cargo.lock -------------------------------------------------------------------------------- /ch07/reference-objects/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch07/reference-objects/Cargo.toml -------------------------------------------------------------------------------- /ch07/reference-objects/src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch07/reference-objects/src/main.rs -------------------------------------------------------------------------------- /ch07/struct-tagging/Cargo.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch07/struct-tagging/Cargo.lock -------------------------------------------------------------------------------- /ch07/struct-tagging/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch07/struct-tagging/Cargo.toml -------------------------------------------------------------------------------- /ch07/struct-tagging/src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch07/struct-tagging/src/main.rs -------------------------------------------------------------------------------- /ch07/supertraits/Cargo.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch07/supertraits/Cargo.lock -------------------------------------------------------------------------------- /ch07/supertraits/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch07/supertraits/Cargo.toml -------------------------------------------------------------------------------- /ch07/supertraits/src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch07/supertraits/src/main.rs -------------------------------------------------------------------------------- /ch07/wrapped-vec/Cargo.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch07/wrapped-vec/Cargo.lock -------------------------------------------------------------------------------- /ch07/wrapped-vec/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch07/wrapped-vec/Cargo.toml -------------------------------------------------------------------------------- /ch07/wrapped-vec/src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch07/wrapped-vec/src/main.rs -------------------------------------------------------------------------------- /ch08/coroutines/Cargo.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch08/coroutines/Cargo.lock -------------------------------------------------------------------------------- /ch08/coroutines/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch08/coroutines/Cargo.toml -------------------------------------------------------------------------------- /ch08/coroutines/rust-toolchain.toml: -------------------------------------------------------------------------------- 1 | [toolchain] 2 | channel = "nightly" 3 | -------------------------------------------------------------------------------- /ch08/coroutines/src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch08/coroutines/src/main.rs -------------------------------------------------------------------------------- /ch08/hello-world/.gitignore: -------------------------------------------------------------------------------- 1 | Cargo.lock 2 | -------------------------------------------------------------------------------- /ch08/hello-world/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch08/hello-world/Cargo.toml -------------------------------------------------------------------------------- /ch08/hello-world/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch08/hello-world/src/lib.rs -------------------------------------------------------------------------------- /ch08/hello-world/tests/test_macro.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch08/hello-world/tests/test_macro.rs -------------------------------------------------------------------------------- /ch08/mylib/.gitignore: -------------------------------------------------------------------------------- 1 | Cargo.lock 2 | -------------------------------------------------------------------------------- /ch08/mylib/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch08/mylib/Cargo.toml -------------------------------------------------------------------------------- /ch08/mylib/src/a.rs: -------------------------------------------------------------------------------- 1 | pub struct InnerA {} 2 | -------------------------------------------------------------------------------- /ch08/mylib/src/b.rs: -------------------------------------------------------------------------------- 1 | pub struct InnerB {} 2 | -------------------------------------------------------------------------------- /ch08/mylib/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch08/mylib/src/lib.rs -------------------------------------------------------------------------------- /ch08/mylib/src/prelude.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch08/mylib/src/prelude.rs -------------------------------------------------------------------------------- /ch08/print-name/.gitignore: -------------------------------------------------------------------------------- 1 | Cargo.lock 2 | -------------------------------------------------------------------------------- /ch08/print-name/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch08/print-name/Cargo.toml -------------------------------------------------------------------------------- /ch08/print-name/print_name/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch08/print-name/print_name/Cargo.toml -------------------------------------------------------------------------------- /ch08/print-name/print_name/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch08/print-name/print_name/src/lib.rs -------------------------------------------------------------------------------- /ch08/print-name/print_name_derive/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch08/print-name/print_name_derive/Cargo.toml -------------------------------------------------------------------------------- /ch08/print-name/print_name_derive/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch08/print-name/print_name_derive/src/lib.rs -------------------------------------------------------------------------------- /ch08/print-name/print_name_derive/tests/test_derive.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch08/print-name/print_name_derive/tests/test_derive.rs -------------------------------------------------------------------------------- /ch08/session-state-machine/.gitignore: -------------------------------------------------------------------------------- 1 | Cargo.lock 2 | -------------------------------------------------------------------------------- /ch08/session-state-machine/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch08/session-state-machine/Cargo.toml -------------------------------------------------------------------------------- /ch08/session-state-machine/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch08/session-state-machine/src/lib.rs -------------------------------------------------------------------------------- /ch09/cow/Cargo.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch09/cow/Cargo.lock -------------------------------------------------------------------------------- /ch09/cow/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch09/cow/Cargo.toml -------------------------------------------------------------------------------- /ch09/cow/src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch09/cow/src/main.rs -------------------------------------------------------------------------------- /ch09/immutability-review/Cargo.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch09/immutability-review/Cargo.lock -------------------------------------------------------------------------------- /ch09/immutability-review/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch09/immutability-review/Cargo.toml -------------------------------------------------------------------------------- /ch09/immutability-review/src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch09/immutability-review/src/main.rs -------------------------------------------------------------------------------- /ch09/with-im/Cargo.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch09/with-im/Cargo.lock -------------------------------------------------------------------------------- /ch09/with-im/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch09/with-im/Cargo.toml -------------------------------------------------------------------------------- /ch09/with-im/src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch09/with-im/src/main.rs -------------------------------------------------------------------------------- /ch09/with-rpds/Cargo.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch09/with-rpds/Cargo.lock -------------------------------------------------------------------------------- /ch09/with-rpds/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch09/with-rpds/Cargo.toml -------------------------------------------------------------------------------- /ch09/with-rpds/src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch09/with-rpds/src/main.rs -------------------------------------------------------------------------------- /ch10/basic-bench/.gitignore: -------------------------------------------------------------------------------- 1 | Cargo.lock 2 | -------------------------------------------------------------------------------- /ch10/basic-bench/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch10/basic-bench/Cargo.toml -------------------------------------------------------------------------------- /ch10/basic-bench/rust-toolchain.toml: -------------------------------------------------------------------------------- 1 | [toolchain] 2 | channel = "nightly" 3 | -------------------------------------------------------------------------------- /ch10/basic-bench/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch10/basic-bench/src/lib.rs -------------------------------------------------------------------------------- /ch10/forbid-unsafe/Cargo.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch10/forbid-unsafe/Cargo.lock -------------------------------------------------------------------------------- /ch10/forbid-unsafe/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch10/forbid-unsafe/Cargo.toml -------------------------------------------------------------------------------- /ch10/forbid-unsafe/src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch10/forbid-unsafe/src/main.rs -------------------------------------------------------------------------------- /ch10/misusing-deref/Cargo.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch10/misusing-deref/Cargo.lock -------------------------------------------------------------------------------- /ch10/misusing-deref/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch10/misusing-deref/Cargo.toml -------------------------------------------------------------------------------- /ch10/misusing-deref/src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch10/misusing-deref/src/main.rs -------------------------------------------------------------------------------- /ch10/polymorphism-emulation-deref/Cargo.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch10/polymorphism-emulation-deref/Cargo.lock -------------------------------------------------------------------------------- /ch10/polymorphism-emulation-deref/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch10/polymorphism-emulation-deref/Cargo.toml -------------------------------------------------------------------------------- /ch10/polymorphism-emulation-deref/src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch10/polymorphism-emulation-deref/src/main.rs -------------------------------------------------------------------------------- /ch10/polymorphism-emulation-trait-object/Cargo.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch10/polymorphism-emulation-trait-object/Cargo.lock -------------------------------------------------------------------------------- /ch10/polymorphism-emulation-trait-object/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch10/polymorphism-emulation-trait-object/Cargo.toml -------------------------------------------------------------------------------- /ch10/polymorphism-emulation-trait-object/src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch10/polymorphism-emulation-trait-object/src/main.rs -------------------------------------------------------------------------------- /ch10/unsafe-usage/Cargo.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch10/unsafe-usage/Cargo.lock -------------------------------------------------------------------------------- /ch10/unsafe-usage/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch10/unsafe-usage/Cargo.toml -------------------------------------------------------------------------------- /ch10/unsafe-usage/src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch10/unsafe-usage/src/main.rs -------------------------------------------------------------------------------- /ch10/vec-benchmark/.gitignore: -------------------------------------------------------------------------------- 1 | Cargo.lock 2 | -------------------------------------------------------------------------------- /ch10/vec-benchmark/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch10/vec-benchmark/Cargo.toml -------------------------------------------------------------------------------- /ch10/vec-benchmark/rust-toolchain.toml: -------------------------------------------------------------------------------- 1 | [toolchain] 2 | channel = "nightly" 3 | -------------------------------------------------------------------------------- /ch10/vec-benchmark/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brndnmtthws/idiomatic-rust-book/HEAD/ch10/vec-benchmark/src/lib.rs --------------------------------------------------------------------------------