This practical guide gives systems and application programmers alike a solid understanding of Rust's rules, and shows how to put them to work ensuring their programs are not only efficient, but free of broad classes of common errors.