Decrusting the quickcheck crate
In this stream, we peeled back the crust on the quickcheck crate —
https://github.com/BurntSushi/quickcheck/ — and explored its interface,
structure, and mechanisms. We talked about what property testing is, how
quickcheck lets you do it, how to go "more advanced", and how it all
works under the hood (spoiler: no magic!).
For more details about quickcheck, see https://docs.rs/quickcheck/.
Discord: https://discord.jonhoo.eu/
0:00:00 Introduction
0:02:59 What is property testing?
0:05:11 What does quickcheck do?
0:08:28 Walking through an example
0:19:03 Decrusting the quickcheck! macro
0:22:01 Decrusting the quickcheck fn
0:23:45 Decrusting the Testable trait
0:31:17 Decrusting Arbitrary::arbitrary
0:47:10 Decrusting TestResult::discard
0:54:16 Decrusting Arbitrary::shrink
Live version with chat:
Other Videos By Jon Gjengset
2025-08-01 | Vibe coding complex changes in Rust |
2025-05-30 | Explaining assembly by playing SHENZHEN I/O |
2025-03-10 | Porting the guff plot device to Rust |
2025-01-02 | January 2025 Q&A |
2024-09-21 | Decrusting the quickcheck crate |
2024-08-25 | Implementing a Lox interpreter in Rust |
2024-07-14 | Open Source Maintenance, 2024-07-14 |
2024-05-18 | What's New in Rust 1.72-1.78 Rustacean Station marathon |
2024-05-04 | Q&A May 2024 |
2024-04-05 | Decrusting the tokio crate |
2024-03-09 | Implementing (parts of) git from scratch in Rust |
2024-02-09 | Decrusting the tracing crate |
2024-02-06 | Jon Gjengset Live Stream |
2024-01-14 | Hardware and software [2024 edition] |
2023-12-16 | Q&A December 2023 |
2023-12-15 | Q&A Session |
2023-11-17 | Making the (partial) Rust BitTorrent client more reasonable |
2023-10-19 | Implementing (part of) a BitTorrent client in Rust |
2023-08-26 | Open Source Maintenance, 2023-08-25 |
2023-08-13 | Open Source Maintenance, 2023-08-13 |
2023-08-06 | Open Source Maintenance, 2023-08-06 |