Skip to Content
Write Powerful Rust Macros
book

Write Powerful Rust Macros

by Sam Van Overmeire
June 2024
Beginner to intermediate
320 pages
8h 59m
English
Manning Publications

Overview

An example-driven, step-by-step guide to success with Rust macros.

In Write Powerful Rust Macros you’ll learn how to use these amazing metaprogramming tools to push Rust to its full potential. This hands-on guide takes you from the absolute basics to advanced macro techniques, exploring Rust macros through interesting and engaging examples.

Inside Write Powerful Rust Macros you’ll discover:

  • Writing declarative macros
  • Procedural macros
  • Reading and debugging macro code
  • Improving the type system with newtypes and zero-sized types
  • How common Rust libraries use macros

Write Powerful Rust Macros teaches you how to write, test, debug, and publish macros for Rust. It’s perfect for Rust practitioners who want to master this powerful development technique. Build your knowledge chapter-by-chapter. You’ll start with declarative macros before diving into the real power: procedural macros that can generate code, augment data structures, and even create domain-specific languages.

About the Technology
Macros are one of Rust’s most important and powerful tools. Although notoriously challenging, this metaprogramming technique has a big payoff. Using macros to generate new Rust code at compile-time can save you hours of tedious coding with negligible runtime performance impact. This book shows you exactly how to master this Rust superpower.

About the Book
Write Powerful Rust Macros opens up the world of macros to intermediate Rust programmers. You’ll start with declarative macros to get the basics under your belt. Then, you’ll advance to procedural macros as you automatically generate a builder, learn to create your own domain-specific languages, and more. As you go, you’ll develop practical skills like testing macros, integrating macros with crates, and even sharing your macros with other developers.

What's Inside
  • How Rust libraries use macros
  • Reading and debugging macro code
  • newtypes and the type state pattern


About the Reader
For intermediate Rust programmers.

About the Author
Sam Van Overmeire is an experienced Rust developer and the author of multiple books, scientific articles and blog posts.

The technical editor on this book was Andrew Lilley Brinker.

Quotes
A step-by-step practical guide. Real-world examples show how to write macros you’ll actually use.
- Josh Triplett, Rust language team, buildit.dev

The most comprehensive reference I’ve found on Rust macros. Invaluable for any Rustacean!
- Michael Snoyman, FP Complete

A deep dive into Rust’s macro system—one of its most potent features—that demystifies the art of metaprogramming. Essential!
- Noah Gift, Pragmatic AI Labs, Duke Executive in Residence

Expertly equips the reader with the knowledge of how, and the discernment of when, to use Rust macros.
- Sean McArthur, Maintainer of hyper.rs

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

Effective Rust

Effective Rust

David Drysdale
Rust in Action

Rust in Action

Tim McNamara

Publisher Resources

ISBN: 9781633437494Publisher SupportPublisher WebsiteErrata Page