Exposing Rust types and functions to C API consumers.

Show Notes It’s impossible to make the declarations below follow the order I talked through them on the recording without also making them horrible to read, so just use this outline instead:

  1. add_in_rust
  2. Strings
    1. concat_strings
    2. free_rust_string
  3. Point
    1. point_translate
  4. union
  5. OpaquePoint
    1. opaque_point_new
    2. opaque_point_translate
    3. opaque_point_free

Links * Rust FFI Omnibus * the repository for the show * RFC #2195

Sponsors Thanks to Parity for sponsoring the show and hiring Rust developers!

Patreon Sponsors * Adam Green * Aleksey Pirogov * Alexander Kryvomaz * Alexander Lozada * Alexander Payne * Andrew Dirksen * Andrew Thompson * Anthony Deschamps * Anthony Scotti * Arlen Haftevani * Arlo (Hyena) * Arun Kulshreshtha * Behnam Esfahbod * Benjamin Manns * Benjamin Wasty * Brandon ‘Spanky’ Mills * Brian Casiello * Brian Manning * Brian McCallister * Bryan Stitt * Caryn Finkelman * Cass Costello * Cat Dad * Chap Lovejoy * Charlie Egan * Chip * Chris Palmer * Christoffer Ceutz * Cristian Paul * Dan Abrams * Daniel * Daniel Bross * Daniel Collin * Daniel Mason * David Carroll * David Hewson * Derek Morr * Dominic Cooney * Doug Reeves * Douglas Correa * Edmund Kump * Eduard Knyshov * Embark Studios * Eugene Bulkin * Evan Stoll * Fabio (decathorpe) * Fabio Correa * Gaveen Prabhasara * Graham Wihlidal * Henri Sivonen * Ian Jones * Hoàng Đức Hiếu * Hugo Josefson * “Jake”“ferris”" Taylor" * Jako Danar * James Cooper * James Hagans II * Jason Bowen * Jeff May * Jendrik Illner * Jerome Froelich * JockeTF * Joar Wandborg * Johan Andersson * John Rudnick * Jon * Jonah * Jonathan Knapp * Jonathan Turner * Joseph Hain * Joseph Mou * Joseph Schrag * Joe Percy * Justin Ossevoort * Kai Yao * Kazutaka Mise * Keith Gray * Kilian Rault * Lee Jenkins * Luca Schmid * Luiz Irber * Lukas Eller * Malnormalulo * Martin Heuschober * Masashi Fujita * Matt Rudder * Matthew Brenner * Matthias Ruszala * Max Jacobson * Max R.R. Collada * Messense Lv * Micael Bergeron * Michael Mc Donnell * Michael Melanson * Michael Sanders * Nathan Sculli * Nick Coish * Nick Gideo * Nick Stevens * Nicolas Pochet * Oladapo Fadeyi * Olaf Leidinger * Oliver Uvman * Oluseyi Sonaiya * Ovidiu Curcan * Pascal * Patrick O’Doherty * Paul Naranja * Paul Osborne * Peter Scholtens * Peter Tillemans * Pierre-Antoine Champin * Ralph Giles * Ramon Buckland * Randy MacLeod * Raph Levien * Richard Dallaway * Rob Tsuk * Robbie Clarken * Robert Chrzanowski * Romain Chossart * Ryan Blecher * Ryan Osial * Scott Moeller * Sebastián Ramírez Magrí * Simon Dickson * Simon G * Soren Bramer Schmidt * Steve Jenson * Steven Knight * Steven Murawski * Stuart Hinson * Tim Brooks * Tim Süberkrüb * Tom Prince * Toolmaker’s Guild * Ty Overby * Tyler Harper * Victor Kruger * Will Greenberg * Zak van der Merwe * Zachary Snyder * Zach Peters * Zaki

(Thanks to the couple people donating who opted out of the reward tier, as well. You know who you are!)

Become a sponsor * Patreon * Venmo * Dwolla * Cash.me * Flattr * PayPal.me

Contact * New Rustacean: + Twitter: @newrustacean + Email: hello@newrustacean.com * Chris Krycho + GitHub: chriskrycho + Twitter: @chriskrycho