Learn How to Use cargo-semver-checks and Closure Traits to Write Better Code


Details
Lightning talk by Jesse Hallett: Closure traits explained: Fn, FnMut, and FnOnce
Functions that are given as arguments to other functions, or that are returned from other functions are often called "closures" because they can access variables in the scope where they were defined. Writing types for closures is a bit different in Rust due to lifetime tracking of "closed over" variables. In fact there are four different traits and types to choose between! In this lightning talk I will explain which trait to use in which situations.
***
Full talk by Predrag Gruevski: Automating expertise with cargo-semver-checks
1 in 6 of the top 1000 most-downloaded crates have violated semantic versioning at least once, often resulting in downstream breakage and frustration. Why does this keep happening, and how can we do better?
Even tiny changes and additions can unexpectedly become semver hazards. Careful coding and code review alone aren’t enough to catch unintentional breaking changes. To scale, we must automate!
This talk presents cargo-semver-checks, a linter that helps crates adhere to semantic versioning in Rust. We'll look at how seemingly benign changes can break a crate's public API, and how our linter helps prevent that. Then we'll peek under the hood at how breaking changes are discovered: by running database-like queries like “find functions that existed in the previous version but don’t exist in the current version.” Find out how these queries minimize our maintenance burden while being super fast to run!
***
We'll open doors at 7pm, and the talks will be from 7:30pm-8:30pm. And as usual, if there's enough interest, we'll go hang out at a local bar afterward!
***
If you'd like to share a talk with us, have talk suggestions, or would like to keep up with our virtual events in the future, please join our Rust East Coast Discord, where we plan and share future and past talks!
***
JFrog has generously agreed to sponsor this month's event by providing food and drink.
***
Materialize has generously agreed to host this month's event.
Note the temporary entrance to Materialize.

Learn How to Use cargo-semver-checks and Closure Traits to Write Better Code