Brought to you by Meta. In addition to remaining active in the open source community and conference circuit, this podcast offers another channel that allows us to highlight the technical work of our engineers who will discuss everything from low-level frameworks to end-user features. Throughout the podcast, Meta engineer Pascal Hartig (@passy) will interview developers in the company.

63: The key to a happy Rust/C++ relationship

May 30, 2024 06:36 3.58 MB Downloads: 0

Aida was part of one of the first Rust teams here at Meta. One of the biggest challenges was interacting with the large amount of existing C++. With the release of cxx, safe interop between C++ and even async Rust has become a lot easier.

Got feedback? Send it to us on Threads (https://threads.net/@metatechpod), Twitter (https://twitter.com/metatechpod), Instagram (https://instagram.com/metatechpod) and don’t forget to follow our host @passy (https://twitter.com/passy, https://mastodon.social/@passy, and https://threads.net/@passy_). Fancy working with us? Check out https://www.metacareers.com/.

Links

 

Timestamps

  • Intro 0:06

  • Aida Intro 2:06

  • Rust in Meta Source Control 2:50

  • State of Rust at Meta 10:11

  • bindgen 13:25

  • cxx vs bindgen 17:49

  • async Rust and C++ 19:04

  • Dealing with Lifetimes 28:19

  • Fixing Memory Leaks 31:25

  • Thread safety with Send and Sync 33:48

  • A Magic Wand for Async Rust 39:52

  • Outro 43:04

  • Outtakes 43:50