New Rustacean: Recent Episodes

Chris Krycho

A show about the Rust programming language and the people who use it.

View Details

A story and a dream (and the promise of Rust): the final episode of New Rustacean!

Show Notes * Rust by Example * Winning Slowly * Mass Affection * buttondown.email/rewrite * patreon.com/chriskrycho

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 * Freeman P. Pascal * 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 * Kyle * 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 * Satoshi Yoshikawa * Scott Moeller * Sebastián Ramírez Magrí * Simon Dickson * Simon G * Soren Bramer Schmidt * Steve Jenson * Steven Knight * Steven Murawski * Stuart Hinson * Sven Huster * Tim Brooks * Tim Small * 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!)

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

View Details

WASI, Option::copied, and the future of async/await syntax!

Show Notes * Rust 1.34.1 + release notes + blog post + discussion about Error::type_id * Rust 1.34.2 + release notes + blog post + discussion about Error::type_id * Rust 1.35 + release notes + blog post + WASI - The Bike Shed episode * Async/await + std::futures API docs + internal thread on syntax for .await

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 * Freeman P. Pascal * 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 * Kyle * 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 * Satoshi Yoshikawa * Scott Moeller * Sebastián Ramírez Magrí * Simon Dickson * Simon G * Soren Bramer Schmidt * Steve Jenson * Steven Knight * Steven Murawski * Stuart Hinson * Sven Huster * Tim Brooks * Tim Small * 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

View Details

Automatic generation of FFI types between Rust and C APIs.

Show Notes * bindgen + the official guide + API docs * cbindgen + a blog post by one of the main authors of the crate + rust-ffi * Binding libraries for scripting languages + PyO3 + Neon + Rustler - a great write-up from the folks at Discord + Helix

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 * Freeman P. Pascal * 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 * Kyle * 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 * Satoshi Yoshikawa * Scott Moeller * Sebastián Ramírez Magrí * Simon Dickson * Simon G * Soren Bramer Schmidt * Steve Jenson * Steven Knight * Steven Murawski * Stuart Hinson * Sven Huster * Tim Brooks * Tim Small * 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

View Details

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

View Details

Item visibility and pub(<restricted>) as API design tools.

Show Notes The easiest and most effective way to understand the example in this case will simply be to look directly at the source code. You can read the docs for each of the nested modules, but you’ll be doing a lot of navigating around for that.

Also, I am using Cargo’s --document-private-items flag, so that you can see all the items in all the modules, even those which are not public, but note that usually you would not see docs for those!

Links * the reference on visibility * RFC #1422 * episode source code * e020

Sponsors Thanks to Manning for sponsoring the show and giving all of you a 40%-off discount on their whole store (but especially their WebAssembly in Action MEAP) at deals.manning.com/new-rustacean!

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

View Details

Moar const fn, some Pin, and alternative Cargo registries!

Show Notes * 1.33 release notes * Pin + RFC + API docs * 1.34 release notes

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 * 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 * 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 * William Roe * 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

View Details

Using Rust’s Foreign Function Interface (FFI) with C!

Show Notes The code samples here directly match the things I described in the show, so you will likely want to look at add and ffi::add, then Point, translate, and ffi::translate in that order.

Links Other helpful Rust FFI discussions:

  • The Rust Programming Language’s materials
  • the nomicon
  • Rust FFI Omnibus
  • the Reference’s discussion
  • the associated Rust API docs

Sponsors Thanks to Manning for sponsoring the show and giving all of you a 40%-off discount on their whole store (but especially Carol Nichols’ and Jake Goulding’s Rust in Motion video content and the Rust in Action MEAP!) at deals.manning.com/new-rustacean

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 * Dan Abrams * Daniel * Daniel Bross * Daniel Collin * Daniel Mason * David Carroll * David Hewson * Derek Morr * 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 * Jendrik Illner * Jerome Froelich * 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 * 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 * William Roe * 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

View Details

How I make the show, and why you won’t find it on Google Play, Spotify, or Stitcher.

Show Notes * Winning Slowly + guest lectures on podcasting: A, B * Audio recording/editing/production software: + Icecast + Rogue Amoeba - Audio Hijack - Loopback + Ferrite + iZotope RX * previous episodes of interest + building a markdown link extractor + using rustdoc

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 * [beaorn] * 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 * Dan Abrams * Daniel * Daniel Bross * Daniel Collin * Daniel Mason * David Carroll * David Hewson * Derek Morr * 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 * Jendrik Illner * Jerome Froelich * 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 * 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 * William Roe * Zak van der Merwe * Zachary Snyder * 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

View Details

A story about parsing command-line arguments manually and some thoughts on “rookie mistakes.”

Show Notes * why you might want to invoke the same program with different names * Python’s argparse library * Commander in Node * clap * structopt * pulldown-cmark

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) * 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 * Dan Abrams * Daniel * Daniel Bross * Daniel Collin * Daniel Mason * David Carroll * David Hewson * Derek Morr * Doug Reeves * Douglas Correa * Eduard Knyshov * Embark Studios * Eugene Bulkin * Fabio (decathorpe) * Gaveen Prabhasara * Graham Wihlidal * Henri Sivonen * Ian Jones * Hoàng Đức Hiếu * “Jake”“ferris”" Taylor" * Jako Danar * James Cooper * James Hagans II * Jason Bowen * Jendrik Illner * Jerome Froelich * 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 * 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 * 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 * William Roe * Zak van der Merwe * Zachary Snyder * 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

View Details

Associated items: functions and methods, constants, types, and (very briefly!) GATs.

Show Notes * Iterator source * the first Traits deep dive episode * RFC #1598 * RFC #195 * The Reference on associated items * Rust 1.20 * deals.manning.com/new-rustacean

Sponsors Thanks to Manning for sponsoring the show and giving all of you a 40%-off discount on their whole store (but especially Carol Nichols’ and Jake Goulding’s Rust in Motion video content and the Rust in Action MEAP!) at deals.manning.com/new-rustacean

Patreon Sponsors * Adam Green * Aleksey Pirogov * Alexander Kryvomaz * Alexander Lozada * Alexander Payne * Andrew Dirksen * Andrew Thompson * Anthony Deschamps * Anthony Scotti * Arlen Haftevani * Arlo (Hyena) * beaorn * 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 * Dan Abrams * Daniel * Daniel Bross * Daniel Collin * Daniel Mason * David Carroll * David Hewson * Derek Morr * Doug Reeves * Douglas Correa * Eduard Knyshov * Embark Studios * Eugene Bulkin * Fabio (decathorpe) * Gaveen Prabhasara * Graham Wihlidal * Henri Sivonen * Ian Jones * Hoàng Đức Hiếu * “Jake”“ferris”" Taylor" * Jako Danar * James Cooper * James Hagans II * Jason Bowen * Jendrik Illner * Jerome Froelich * 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 * 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 * Ryan Blecher * Ryan Osial * Scott Moeller * Sebastián Ramírez Magrí * Simon Dickson * Simon G * Soren Bramer Schmidt * Steffen Loen Sunde * 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 * William Roe * Zak van der Merwe * Zachary Snyder * 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

View Details

dbg!, unified paths, more places you can use Self, and a bunch of const fn stabilizations—plus some neat community highlights!

Show Notes * Rust 1.32 + blog post + release notes + smaller builds on Twitter * Amethyst + examples + docs + RustConf 2018 keynote * insta

Sponsors Thanks to Parity for sponsoring the show again. Go check out their Rust jobs!

Patreon Sponsors * Adam Green * Aleksey Pirogov * Alexander Kryvomaz * Alexander Payne * Andrew Dirksen * Andrew Thompson * Anthony Deschamps * Anthony Scotti * Arlen Haftevani * beaorn * Behnam Esfahbod * 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 * Dan Abrams * Daniel * Daniel Bross * Daniel Collin * Daniel Mason * David Hewson * Derek Morr * Doug Reeves * Douglas Correa * Eduard Knyshov * Embark Studios * Eugene Bulkin * Fabio (decathorpe) * Gaveen Prabhasara * Graham Wihlidal * Henri Sivonen * Ian Jones * Hoàng Đức Hiếu * “Jake”“ferris”" Taylor" * Jako Danar * James Cooper * James Hagans II * Jerome Froelich * Joar Wandborg * Johan Andersson * John Rudnick * Jon * Jonah * Jonathan Knapp * Jonathan Turner * Joseph Hain * Joe Percy * Justin Ossevoort * Kai Yao * Keith Gray * Kilian Rault * Lee Jenkins * Luca Schmid * Luiz Irber * Lukas Eller * 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 * 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 * Ryan Blecher * Ryan Osial * Scott Moeller * Sebastián Ramírez Magrí * Simon Dickson * Simon G * Steffen Loen Sunde * 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 * William Roe * Zak van der Merwe * Zachary Snyder * 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

View Details

Stabilizing rustfmt, clippy, tool lints, and const fn (all in both editions!), and the 2018 Edition-specific features: syntax changes and non-lexical lifetimes!

Show Notes * Rust 1.31 Blog Post * Rust 1.31 Release Notes * Rust 2018 Edition Guide * a simple NLL example * const fn in the reference and “const contexts” * “uniform paths” * the raw string syntax

Sponsors Thanks to Parity for sponsoring the show again. Go check out their Rust jobs!

Patreon Sponsors * Adam Green * Aleksey Pirogov * Alexander Kryvomaz * Alexander Payne * Andrew Dirksen * Andrew Thompson * Anthony Deschamps * Anthony Scotti * beaorn * Behnam Esfahbod * Benjamin Wasty * Brandon ‘Spanky’ Mills * Brian Casiello * Brian Manning * Brian McCallister * Bryan Stitt * Caryn Finkelman * Cass Costello * Chap Lovejoy * Charlie Egan * Chip * Chris Palmer * Dan Abrams * Daniel * Daniel Bross * Daniel Collin * Daniel Mason * David Hewson * Derek Morr * Doug Reeves * Eduard Knyshov * Embark Studios * Eugene Bulkin * Fabio (decathorpe) * Fábio Botelho * Gaveen Prabhasara * Graham Wihlidal * Henri Sivonen * Ian Jones * “Jake”“ferris”" Taylor" * Jako Danar * James Cooper * James Hagans II * Jerome Froelich * Joar Wandborg * Johan Andersson * John Rudnick * Jon * Jonathan Knapp * Jonathan Turner * Joseph Hain * Joseph Marhee * Justin Ossevoort * Kai Yao * Keith Gray * Kilian Rault * Lee Jenkins * Luca Schmid * Luiz Irber * Lukas Eller * 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 * 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 * Ryan Blecher * Ryan Osial * Scott Moeller * Sebastián Ramírez Magrí * Simon Dickson * Simon G * Steffen Loen Sunde * 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 * William Roe * Zak van der Merwe * Zachary Snyder * 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

View Details

An overview of the edition, and some of the improvements that are available in both the 2015 and 2018 editions: better lifetime elision, some Cargo features, and some library stabilizations.

Show Notes * Rust 1.31 Blog Post * Rust 1.31 Release Notes * Rust 2018 Edition Guide * Previous episodes of direct interest: + News: Rust 1.28 + News: Rust 1.29 and 1.30

Sponsors Thanks to Parity for sponsoring the show again. Go check out their Rust jobs!

Patreon Sponsors * Adam Green * Aleksey Pirogov * Alexander Kryvomaz * Alexander Payne * Andrew Dirksen * Andrew Thompson * Anthony Deschamps * Anthony Scotti * beaorn * Behnam Esfahbod * Benjamin Wasty * Brandon ‘Spanky’ Mills * Brian Casiello * Brian Manning * Brian McCallister * Bryan Stitt * Caryn Finkelman * Cass Costello * Chap Lovejoy * Charlie Egan * Chip * Chris Palmer * Dan Abrams * Daniel * Daniel Bross * Daniel Collin * Daniel Mason * David Hewson * Derek Morr * Doug Reeves * Eduard Knyshov * Embark Studios * Eugene Bulkin * Fabio (decathorpe) * Fábio Botelho * Gaveen Prabhasara * Graham Wihlidal * Henri Sivonen * Ian Jones * “Jake”“ferris”" Taylor" * Jako Danar * James Cooper * James Hagans II * Jerome Froelich * Joar Wandborg * Johan Andersson * John Rudnick * Jon * Jonathan Knapp * Jonathan Turner * Joseph Hain * Joseph Marhee * Justin Ossevoort * Kai Yao * Keith Gray * Kilian Rault * Lee Jenkins * Luca Schmid * Luiz Irber * Lukas Eller * 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 * 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 * Ryan Blecher * Ryan Osial * Scott Moeller * Sebastián Ramírez Magrí * Simon Dickson * Simon G * Steffen Loen Sunde * 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 * William Roe * Zak van der Merwe * Zachary Snyder * 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

View Details

Show Notes Things we mentioned on the show:

  • the playground
  • Ferrous Systems
  • Magical JSON: https://quicktype.io
  • EddyB’s company: Lyken Software Solutions
  • Integer32 blog: “Tech Conference Budget Case Study: Rust Belt Rust 2018”

Sponsors Thanks to Manning for sponsoring this episode; don’t forget to grab some of their content at 40% off using the code podnewrust18!

Thanks to Parity for sponsoring the show again. Go check out their Rust jobs!

Patreon Sponsors * Adam Green * Aleksey Pirogov * Alexander Kryvomaz * Alexander Payne * Andrew Dirksen * Andrew Thompson * Anthony Deschamps * Anthony Scotti * beaorn * Behnam Esfahbod * Benjamin Wasty * Brandon ‘Spanky’ Mills * Brian Casiello * Brian Manning * Brian McCallister * Bryan Stitt * Caryn Finkelman * Cass Costello * Chap Lovejoy * Charlie Egan * Chip * Chris Palmer * Dan Abrams * Daniel * Daniel Bross * Daniel Collin * Daniel Mason * David Hewson * Derek Morr * Doug Reeves * Eduard Knyshov * Embark Studios * Eugene Bulkin * Fabio (decathorpe) * Fábio Botelho * Gaveen Prabhasara * Graham Wihlidal * Henri Sivonen * Ian Jones * “Jake”“ferris”" Taylor" * Jako Danar * James Cooper * James Hagans II * Jerome Froelich * Joar Wandborg * Johan Andersson * John Rudnick * Jon * Jonathan Knapp * Jonathan Turner * Joseph Hain * Joseph Marhee * Justin Ossevoort * Kai Yao * Keith Gray * Kilian Rault * Lee Jenkins * Luca Schmid * Luiz Irber * Lukas Eller * 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 * 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 * Robert Chrzanowski * Ryan Blecher * Ryan Osial * Scott Moeller * Sebastián Ramírez Magrí * Simon Dickson * Simon G * Steffen Loen Sunde * 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 * William Roe * Zak van der Merwe * Zachary Snyder * 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

View Details

An intro to unsafe Rust and Rust’s idea of safety.

Show Notes Errata A quick correction: on the show I said that a trait needed to be unsafe when it had an unsafe fn method. This isn’t correct: safe traits can have unsafe methods, and unsafe traits can exist without any methods at all (as implied by my reference to Send and Sync). You can see this in practice in the following example, which compiles just fine!

``` trait ASafeTrait { unsafe fn unsafe_method() {} }

unsafe AnUnsafeTrait {} ```

The idea of an unsafe trait is that it has some conditions which you must uphold to safely implement it – again, just as with Send and Sync. In the case of most traits, this will be because some trait method has invariants it needs to hold else it would cause undefined behavior. For another example of this, see the (unstable as of the time of recording) trait std::iter::TrustedLen.

Thanks to Rust language team member @centril for noting this to me after listening when I was recording the show live!

Links * The Rust Programming Language, Chapter 19: Unsafe * The Nomicon * “Rust and OpenGL from Scratch”, by Nerijus Arlauskas

Examples Borrow-checked code in unsafe

``` let mut f = String::from("foo");

unsafe { let borrowed = &mut f; let borrow_again = &f

println!("{}", borrowed);

// This would be unsafe and throw an error:
// println!("{}", borrow_again);

} ```

(See it in a playground)

Safely mutating a raw pointer

let f = Box::new(12); let mut g = Box::into_raw(f); g = &mut (g + 10);

(See it in a playground)

Sponsors Thanks to Parity for sponsoring the show again. Go check out their Rust jobs!

Patreon Sponsors * Adam Green * Aleksey Pirogov * Alexander Payne * Alexander Kryvomaz * Andrew Thompson * Anthony Deschamps * Anthony Scotti * Behnam Esfahbod * Benjamin Wasty * Brandon ‘Spanky’ Mills * Brian Casiello * Brian Manning * Brian McCallister * Bryan Stitt * Bryce Johnston * Caryn Finkelman * Cass Costello * Chap Lovejoy * Charlie Egan * Chip * Chris Palmer * Daniel * Dan Abrams * Daniel Bross * Daniel Collin * Daniel Mason * David Hewson * Derek Morr * Doug Reeves * Eugene Bulkin * Fábio Botelho * Gaveen Prabhasara * Graham Wihlidal * Henri Sivonen * Ian Jones * “Jake”“ferris”" Taylor" * Jako Danar * James Cooper * James Hagans II * Jerome Froelich * John Rudnick * Jon * Jonathan Knapp * Jonathan Turner * Joseph Hain * Joseph Marhee * Justin Ossevoort * Kai Yao * Keith Gray * Kilian Rault * Lee Jenkins * Luca Schmid * Luiz Irber * Lukas Eller * Martin Heuschober * Masashi Fujita * Matt Rudder * Matthew Brenner * Matthias Ruszala * Max Jacobson * Max R.R. Collada * Messense Lv * Micael Bergeron * Michael Mc Donnell * Michael Sanders * Nathan Sculli * Nick Coish * Nick Gideo * Nick Stevens * Nicolas Pochet * Olaf Leidinger * Oliver Uvman * Oluseyi Sonaiya * Ovidiu Curcan * Pascal * Patrick O’Doherty * Paul Naranja * Paul Osborne * Peter Scholtens * Peter Tillemans * Ralph Giles * Ramon Buckland * Randy MacLeod * Raph Levien * Richard Dallaway * Rob Tsuk * Robert Chrzanowski * Ryan Blecher * Ryan Osial * Scott Moeller * Sebastián Ramírez Magrí * Simon Dickson * Simon G * Steffen Loen Sunde * 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 * William Roe * Zak van der Merwe * Zachary Snyder * 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

View Details

Procedural macros, better paths, and the Rust 2018 beta!

Show Notes Rust 1.29:

  • blog post
  • release notes

Rust 1.30:

  • blog post
  • release notes
  • RFC: path clarity

Sponsors Thanks to Parity for sponsoring the show again. Go check out their Rust jobs!

Patreon Sponsors * Adam Green * Aleksey Pirogov * Alexander Payne * Alexander Kryvomaz * Andrew Thompson * Anthony Deschamps * Anthony Scotti * Behnam Esfahbod * Benjamin Wasty * Brandon ‘Spanky’ Mills * Brian Casiello * Brian Manning * Bryan Stitt * Bryce Johnston * Caryn Finkelman * Cass Costello * Chap Lovejoy * Charlie Egan * Chip * Chris Palmer * Daniel * Dan Abrams * Daniel Bross * Daniel Collin * Daniel Mason * David Hewson * Derek Morr * Doug Reeves * Eugene Bulkin * Fábio Botelho * Gaveen Prabhasara * Graham Wihlidal * Henri Sivonen * Ian Jones * “Jake”“ferris”" Taylor" * Jako Danar * James Cooper * James Hagans II * Jerome Froelich * Joar Wandborg * John Rudnick * Jon * Jonathan Knapp * Jonathan Turner * Joseph Hain * Joseph Marhee * Justin Ossevoort * Kai Yao * Keith Gray * Kilian Rault * Lee Jenkins * Luca Schmid * Luiz Irber * Lukas Eller * Martin Heuschober * Masashi Fujita * Matt Rudder * Matthew Brenner * Matthias Ruszala * Max Jacobson * Max R.R. Collada * Messense Lv * Micael Bergeron * Michael Mc Donnell * Michael Sanders * Nathan Sculli * Nick Coish * Nick Gideo * Nick Stevens * Nicolas Pochet * Olaf Leidinger * Oliver Uvman * Oluseyi Sonaiya * Ovidiu Curcan * Pascal * Patrick O’Doherty * Paul Naranja * Paul Osborne * Peter Tillemans * Ralph Giles * Ramon Buckland * Randy MacLeod * Raph Levien * Richard Dallaway * Rob Tsuk * Robert Chrzanowski * Ryan Blecher * Ryan Osial * Scott Moeller * Sebastián Ramírez Magrí * Simon Dickson * Simon G * Steffen Loen Sunde * 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 * William Roe * Zak van der Merwe * Zachary Snyder * 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

View Details

Musings inspired by a project translating TypeScript to Rust

Sponsors Thanks to Manning for sponsoring the show and giving all of you a 40%-off discount on their whole store (but especially Carol Nichols’ and Jake Goulding’s Rust in Motion video content and the Rust in Action MEAP!) at deals.manning.com/new-rustacean

Patreon Sponsors * Aaron Turon * Adam Green * Aleksey Pirogov * Alexander Payne * Alexander Kryvomaz * Andrew Thompson * Anthony Deschamps * Anthony Scotti * Behnam Esfahbod * Benjamin Wasty * Brandon ‘Spanky’ Mills * Brian Casiello * Brian Manning * Bryan Stitt * Bryce Johnston * Caryn Finkelman * Cass Costello * Chap Lovejoy * Charlie Egan * Chip * Chris Palmer * Daniel * Dan Abrams * Daniel Bross * Daniel Collin * Daniel Mason * David Hewson * Derek Morr * Doug Reeves * Eugene Bulkin * Fábio Botelho * Gaveen Prabhasara * Graham Wihlidal * Henri Sivonen * Ian Jones * “Jake”“ferris”" Taylor" * James Cooper * James Hagans II * Jerome Froelich * Joar Wandborg * John Rudnick * Jon * Jonathan Knapp * Jonathan Turner * Joseph Hain * Joseph Marhee * Justin Ossevoort * Kai Yao * Keith Gray * Kilian Rault * Lee Jenkins * Luca Schmid * Luiz Irber * Lukas Eller * Martin Heuschober * Masashi Fujita * Matt Rudder * Matthew Brenner * Matthias Ruszala * Max Jacobson * Max R.R. Collada * Messense Lv * Micael Bergeron * Michael Mc Donnell * Michael Sanders * Nathan Sculli * Nick Coish * Nick Stevens * Nicolas Pochet * Olaf Leidinger * Oliver Uvman * Oluseyi Sonaiya * Ovidiu Curcan * Pascal * Patrick O’Doherty * Paul Naranja * Paul Osborne * Peter Tillemans * Ralph Giles * Ramon Buckland * Randy MacLeod * Raph Levien * Richard Dallaway * Rob Tsuk * Robert Chrzanowski * Ryan Blecher * Ryan Osial * Scott Moeller * Sebastián Ramírez Magrí * Simon Dickson * Simon G * 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 * William Roe * Zak van der Merwe * Zachary Snyder * 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

[doc(include = “../docs/bonus/translating-between-languages.md”)] pub struct Script;

View Details

What burnout is, the many ways it can happen to us, and what we can do about it.

Show Notes * My blog posts on burnout (and the RSS feed) * Mayo clinic guidelines

Sponsors * Aaron Turon * Alexander Payne * Anthony Deschamps * Anthony Scotti * Antonin Carette * Aleksey Pirogov * Andreas Fischer * Andrew Thompson * Austin LeSure * Behnam Esfahbod * Benjamin Wasty * Brent Vatne * Brian Casiello * Brian Manning * Chap Lovejoy * Charlie Egan * Chris Jones * Chris Palmer * Damien Stanton * Dan Abrams * Daniel Bross * Daniel Collin * Daniel Mason * Daniel P. Clark * David Hewson * Derek Morr * Eugene Bulkin * Graham Wihlidal * Hans Fjällemark * Henri Sivonen * Ian Jones * James Cooper * Jerome Froelich * Joar Wandborg * John Rudnick * Jon * Jonathan Turner * Joseph Hain * Jupp Müller * Justin Ossevoort * Karl Hobley * Keith Gray * Kilian Rault * Laurie Hedge * Luca Schmid * Lukas Eller * Luiz Irber * Mark LeMoine * Martin Heuschober: * Masashi Fujita * Matt Rudder * Matthew Brenner * Matthias Ruszala * Max Jacobson * Messense Lv * Micael Bergeron * Michael Mc Connell * Nathan Sculli * Nick Coish * Nick Stevens * Nicolas Pochet * Oluseyi Sonaiya * Ovidiu Curcan * Pascal Hertleif * Patrick O’Doherty * Paul Naranja * Paul Osborne * Peter Tillemans * Ralph Giles (“rillian”) * Raj Venkalil * Ramon Buckley * Randy MacLeod * Raph Levien * reddraggone9 * Richard Dallaway * Robert Chrzanowski * Ryan Blecher * Ryan Osial * Sebastián Ramírez Magrí * Shane Utt * Simon Dickson * Simon G. * Steve Jenson * Steven Knight * Steven Murawski * Stuart Hinson * Tim Brooks * Timm Preetz * Tom Prince * Ty Overby * Tyler Harper * Vesa Kaihlavirta * Victor Kruger * Will Greenberg * William Roe * Yaacov Finkelman * Zachary Snyder * 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

View Details

Stable #[global\_allocator], more Rust 2018 Edition schedule news, video learning resources, and a static site generator!

Show Notes * Rust 1.28: + blog post + release notes * wee_alloc: + repository + blog post * rustfmt RC * + Nick Cameron’s LinuxConfAu 2018 tutorial + Gutenberg

Sponsors * Aaron Turon * Alexander Payne * Anthony Deschamps * Anthony Scotti * Antonin Carette * Aleksey Pirogov * Andreas Fischer * Andrew Thompson * Austin LeSure * Behnam Esfahbod * Benjamin Wasty * Brent Vatne * Brian Casiello * Chap Lovejoy * Charlie Egan * Chris Jones * Chris Palmer * Coleman McFarland * Damien Stanton * Dan Abrams * Daniel Collin * Daniel Mason * Daniel P. Clark * David W. Allen * David Hewson * Derek Buckley * Derek Morr * Eugene Bulkin * [Hans Fjällemark] * Henri Sivonen * Ian Jones * Jakub “Limeth” Hlusička * James Cooper * Jerome Froelich * Joar Wandborg * John Rudnick * Jon * Jonathan Turner * Joseph Hain * Jupp Müller * Justin Ossevoort * Karl Hobley * Keith Gray * Kilian Rault * Laurie Hedge * Luca Schmid * Luiz Irber * Mark LeMoine * Martin Heuschober: * Masashi Fujita * Matt Rudder * Matthew Brenner * Matthias Ruszala * Max Jacobson * Messense Lv * Micael Bergeron * Nathan Sculli * Nick Coish * Nick Stevens * Oluseyi Sonaiya * Ovidiu Curcan * Pascal Hertleif * Patrick O’Doherty * [Paul Naranja] * Peter Tillemans * Ralph Giles (“rillian”) * Raj Venkalil * Ramon Buckley * Randy MacLeod * Raph Levien * reddraggone9 * Robert Chrzanowski * Ryan Blecher * Ryan Osial * Sascha Grunert * Sebastián Ramírez Magrí * Shane Utt * Simon Dickson * Simon G. * Steve Jenson * Steven Knight * Steven Murawski * Stuart Hinson * Tim Brooks * Timm Preetz * Tom Prince * Ty Overby * Tyler Harper * Vesa Kaihlavirta * Victor Kruger * Will Greenberg * William Roe * Yaacov Finkelman * Zachary Snyder * 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

View Details

How Rust both borrows from FP languages and charts its own, very different course.

Show Notes Sponsored by Parity Technologies! Parity is hiring Rust developers so if you’re interested, you should check out their job listings!

Links * Maybe Haskell * “shared mutable state is the root of all evil” * “code smells” * Persistent Data Types/Structures + rpds crate + immutable.rs

Sponsors * Aaron Turon * Alexander Kryvomaz * Alexander Payne * Anthony Deschamps * Anthony Scotti * Antonin Carette * Aleksey Pirogov * Andreas Fischer * Andrew Thompson * Austin LeSure * Behnam Esfahbod * Benjamin Wasty * Brent Vatne * Brian Casiello * Chap Lovejoy * Charlie Egan * Chris Jones * Chris Palmer * Coleman McFarland * Damien Stanton * Dan Abrams * Daniel Collin * Daniel Mason * Daniel P. Clark * David W. Allen * David Hewson * Derek Buckley * Derek Morr * Eugene Bulkin * [Hans Fjällemark] * Henri Sivonen * Ian Jones * Jakub “Limeth” Hlusička * James Cooper * Jerome Froelich * John Rudnick * Jon * Jonathan Turner * Joseph Hain * Jupp Müller * Justin Ossevoort * Karl Hobley * Keith Gray * Kilian Rault * Laurie Hedge * Luca Schmid * Luiz Irber * Mark LeMoine * Martin Heuschober * Masashi Fujita * Matt Rudder * Matthew Brenner * Matthias Ruszala * Max Jacobson * Messense Lv * Micael Bergeron * Nathan Sculli * Nick Stevens * Oluseyi Sonaiya * Ovidiu Curcan * Pascal Hertleif * Patrick O’Doherty * [Paul Naranja] * Peter Tillemans * Ralph Giles (“rillian”) * Raj Venkalil * Ramon Buckland * Randy MacLeod * Raph Levien * reddraggone9 * Robert Chrzanowski * Ryan Blecher * Ryan Osial * Sebastián Ramírez Magrí * Shane Utt * Simon G. * Steve Jenson * Steven Knight * Steven Murawski * Stuart Hinson * Tim Brooks * Tom Prince * Ty Overby * Tyler Harper * Vesa Kaihlavirta * Victor Kruger * Will Greenberg * William Roe * Yaacov Finkelman * Zachary Snyder * 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

View Details

Closure traits, impl trait, dyn trait, and object safety!

Show Notes Sponsored by Parity Technologies! Parity is hiring Rust developers so if you’re interested, you should check out their job listings!

Links * RFC #1733: Trait Aliases * RFC #255: Object Safety * Ch. 17 in the Second Edition of The Rust Programming Language * Huon Wilson’s post

Example You can see all of the pieces of the final example described in the show here (and the module has the required definitions for Point).

``` let points = vec![ Point { x: 1.0, y: 2.0 }, Point { x: 12.0, y: 4.3 }, Point { x: -5.4, y: 18.7 }, ];

let origin = Point::default();

// This is the version we start with. It works fine, but it's not elegant. let distances_inline: Vec = points .iter() .map(|point| { let change = point - &origin (change.x.powi(2) + change.y.powi(2)).sqrt() }) .collect();

// This version is much cleaner! let distances_impl: Vec = points.iter().map(distance_from_impl(&origin)).collect(); ```

Sponsors * Aaron Turon * Alexander Kryvomaz * Alexander Payne * Anthony Deschamps * Anthony Scotti * Antonin Carette * Aleksey Pirogov * Andreas Fischer * Andrew Thompson * Austin LeSure * Behnam Esfahbod * Benjamin Wasty * Brent Vatne * Brian Casiello * Chap Lovejoy * Charlie Egan * Chris Jones * Chris Palmer * Coleman McFarland * Damien Stanton * Dan Abrams * Daniel Collin * Daniel Mason * Daniel P. Clark * David W. Allen * David Hewson * Derek Buckley * Derek Morr * Eugene Bulkin * [Hans Fjällemark] * Henri Sivonen * Ian Jones * Jakub “Limeth” Hlusička * James Cooper * Jerome Froelich * John Rudnick * Jon * Jonathan Turner * Joseph Hain * Jupp Müller * Justin Ossevoort * Karl Hobley * Keith Gray * Kilian Rault * Laurie Hedge * Luca Schmid * Luiz Irber * Mark LeMoine * Martin Heuschober * Masashi Fujita * Matt Rudder * Matthew Brenner * Matthias Ruszala * Max Jacobson * Messense Lv * Micael Bergeron * Nathan Sculli * Nick Stevens * Oluseyi Sonaiya * Ovidiu Curcan * Pascal Hertleif * Patrick O’Doherty * [Paul Naranja] * Peter Tillemans * Ralph Giles (“rillian”) * Raj Venkalil * Ramon Buckland * Randy MacLeod * Raph Levien * reddraggone9 * Robert Chrzanowski * Ryan Blecher * Ryan Osial * Sebastián Ramírez Magrí * Shane Utt * Simon G. * Steve Jenson * Steven Knight * Steven Murawski * Stuart Hinson * Tim Brooks * Tom Prince * Ty Overby * Tyler Harper * Vesa Kaihlavirta * Victor Kruger * Will Greenberg * William Roe * Yaacov Finkelman * Zachary Snyder * 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

View Details

Stable SIMD, dyn trait, rustfix and the alpha release of the Rust 2018 Edition Preview!

Show Notes * Rust 1.27: + blog post + release notes * This Week in Rust * The Rusty Spike * Hello Rust

Sponsors * Aaron Turon * Alexander Payne * Anthony Deschamps * Anthony Scotti * Antonin Carette * Aleksey Pirogov * Andreas Fischer * Andrew Thompson * Austin LeSure * Behnam Esfahbod * Benjamin Wasty * Brent Vatne * Brian Casiello * Chap Lovejoy * Charlie Egan * Chris Jones * Chris Palmer * Coleman McFarland * Damien Stanton * Dan Abrams * Daniel Collin * Daniel Mason * Daniel P. Clark * David W. Allen * David Hewson * Derek Buckley * Derek Morr * Eugene Bulkin * [Hans Fjällemark] * Henri Sivonen * Ian Jones * Jakub “Limeth” Hlusička * James Cooper * Jerome Froelich * John Rudnick * Jon * Jonathan Turner * Joseph Hain * Jupp Müller * Justin Ossevoort * Karl Hobley * Keith Gray * Kilian Rault * Laurie Hedge * Luca Schmid * Luiz Irber * Mark LeMoine * Martin Heuschober: * Masashi Fujita * Matt Rudder * Matthew Brenner * Matthias Ruszala * Max Jacobson * Messense Lv * Micael Bergeron * Nathan Sculli * Nick Stevens * Oluseyi Sonaiya * Ovidiu Curcan * Pascal Hertleif * Patrick O’Doherty * [Paul Naranja] * Peter Tillemans * Ralph Giles (“rillian”) * Raj Venkalil * Ramon Buckley * Randy MacLeod * Raph Levien * reddraggone9 * Robert Chrzanowski * Ryan Blecher * Ryan Osial * Sascha Grunert * Sebastián Ramírez Magrí * Shane Utt * Simon G. * Steve Jenson * Steven Knight * Steven Murawski * Stuart Hinson * Tim Brooks * Timm Preetz * Tom Prince * Ty Overby * Tyler Harper * Vesa Kaihlavirta * Victor Kruger * Will Greenberg * William Roe * Yaacov Finkelman * Zachary Snyder * 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

View Details

Operators as sugar for traits, traits as generic constraints, monomorphization, and universal and existential types.

Show Notes * on monomorphization, see also Sean Griffin’s RustConf 2017 talk * zero-cost abstractions

Sponsors * Aaron Turon * Alexander Payne * Anthony Deschamps * Anthony Scotti * Antonin Carette * Aleksey Pirogov * Andreas Fischer * Andrew Thompson * Austin LeSure * Behnam Esfahbod * Benjamin Wasty * Brent Vatne * Brian Casiello * Chap Lovejoy * Charlie Egan * Chris Jones * Chris Palmer * Coleman McFarland * Damien Stanton * Dan Abrams * Daniel Collin * Daniel Mason * Daniel P. Clark * David W. Allen * David Hewson * Derek Buckley * Derek Morr * Eugene Bulkin * [Hans Fjällemark] * Henri Sivonen * Ian Jones * Jakub “Limeth” Hlusička * James Cooper * Jerome Froelich * John Rudnick * Jon * Jonathan Turner * Joseph Hain * Jupp Müller * Justin Ossevoort * Karl Hobley * Keith Gray * Kilian Rault * Laurie Hedge * Luca Schmid * Luiz Irber * Mark LeMoine * Martin Heuschober * Masashi Fujita * Matt Rudder * Matthew Brenner * Matthias Ruszala * Max Jacobson * Messense Lv * Micael Bergeron * Nathan Sculli * Nick Stevens * Oluseyi Sonaiya * Ovidiu Curcan * Pascal Hertleif * Patrick O’Doherty * [Paul Naranja] * Peter Tillemans * Ralph Giles (“rillian”) * Raj Venkalil * Ramon Buckley * Randy MacLeod * Raph Levien * reddraggone9 * Ryan Blecher * Ryan Osial * Sebastián Ramírez Magrí * Shane Utt * Simon G. * Steve Jenson * Steven Knight * Steven Murawski * Stuart Hinson * Tim Brooks * Timm Preetz * Tom Prince * Ty Overby * Tyler Harper * Vesa Kaihlavirta * Victor Kruger * Will Greenberg * William Roe * Yaacov Finkelman * Zachary Snyder * 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

View Details

wasm intro, wasm-bindgen, and wasm-pack

Show Notes * WebAssembly + asm.js * wasm-bindgen * wasm-pack * Rust wasm working group + GitHub org + Twitter + This week in Rust and WebAssembly

Sponsors * Aaron Turon * Alexander Payne * Anthony Deschamps * Anthony Scotti * Aleksey Pirogov * Andreas Fischer * Andrew Thompson * Austin LeSure * Behnam Esfahbod * Benjamin Wasty * Brent Vatne * Chap Lovejoy * Charlie Egan * Chris Jones * Chris Palmer * Coleman McFarland * Dan Abrams * Daniel Collin * Daniel P. Clark * David W. Allen * David Hewson * Derek Morr * Eugene Bulkin * [Hans Fjällemark] * Henri Sivonen * Ian Jones * Jakub “Limeth” Hlusička * James Cooper * Jerome Froelich * John Rudnick * Jonathan Turner * Jupp Müller * Justin Ossevoort * Karl Hobley * Keith Gray * Kilian Rault * Luca Schmid * Masashi Fujita * Matt Rudder * Matthew Brenner * Matthias Ruszala * Max Jacobson * Messense Lv * Micael Bergeron * Nathan Sculli * Nick Stevens * Oluseyi Sonaiya * Ovidiu Curcan * Pascal Hertleif * Patrick O’Doherty * [Paul Naranja] * Peter Tillemans * Ralph Giles (“rillian”) * Randy MacLeod * Raph Levien * reddraggone9 * Ryan Blecher * Sebastián Ramírez Magrí * Shane Utt * Simon G. * Steven Murawski * Stuart Hinson * Tim Brooks * Tom Prince * Ty Overby * Tyler Harper * Vesa Kaihlavirta * Victor Kruger * Will Greenberg * William Roe * Yaacov Finkelman * Zachary Snyder * 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

View Details

impl trait, match on references, Results from main, and more. A good way to mark three years since Rust 1.0!

Show Notes * Rust 1.26: + blog post + release notes * RFC #2115 * The Rusty Spike * webassembly.studio * burntsushi’s now-1.0 crates: + regex + csv + docopt * Search crates VS Code plugin

Sponsors * Aaron Turon * adsertoris * Alexander Payne * Anthony Deschamps * Anthony Scotti * Antonin Carette * Aleksey Pirogov * Andreas Fischer * Andrew Thompson * Austin LeSure * Behnam Esfahbod * Benjamin Wasty * Brent Vatne * Brandon “Spanky” Mills * Brian Casiello * Chap Lovejoy * Charlie Egan * Chip * Chris Jones * Chris Palmer * Coleman McFarland * Dan Abrams * Daniel Collin * Daniel P. Clark * David W. Allen * David Hewson * Derek Buckley * Derek Morr * Eugene Bulkin * [Hans Fjällemark] * Henri Sivonen * Ian Jones * Jakub “Limeth” Hlusička * James Cooper * Jerome Froelich * John Rudnick * Jonathan Turner * Joseph Hain * Jupp Müller * Justin Ossevoort * Karl Hobley * Keith Gray * Kilian Rault * Laurie Hedge * Luca Schmid * Luiz Irber * Mark LeMoine * Masashi Fujita * Matt Rudder * Matthew Brenner * Matthias Ruszala * Max Jacobson * Messense Lv * Micael Bergeron * Nathan Sculli * Nick Stevens * Oluseyi Sonaiya * Ovidiu Curcan * Pascal Hertleif * Patrick O’Doherty * [Paul Naranja] * Peter Tillemans * Ralph Giles (“rillian”) * Raj Venkalil * Ramon Buckley * Randy MacLeod * Raph Levien * reddraggone9 * Ryan Blecher * Sebastián Ramírez Magrí * Shane Utt * Simon G. * Steve Jenson * Steven Knight * Steven Murawski * Stuart Hinson * Tim Brooks * Timm Preetz * Tom Prince * Ty Overby * Tyler Harper * Vesa Kaihlavirta * Victor Kruger * Will Greenberg * William Roe * Yaacov Finkelman * Zachary Snyder * 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

View Details

Defining and using your own traits, using other crates' traits, and the orphan rule.

Show Notes Traits—

  • in the Rust book
  • in Rust by Example

Also of interest: specialization:

  • RFC #1210
  • recent blog posts:
    • “Maximally minimal specialization: always applicable impls”
    • “Sound and ergonomic specialization for Rust”

Sponsors * Aaron Turon * Alexander Payne * Anthony Deschamps * Anthony Scotti * Antonin Carette * Aleksey Pirogov * Andreas Fischer * Andrew Thompson * Austin LeSure * Behnam Esfahbod * Benjamin Wasty * Brent Vatne * Brian Casiello * Chap Lovejoy * Charlie Egan * Chris Jones * Chris Palmer * Coleman McFarland * Dan Abrams * Daniel Collin * Daniel P. Clark * David W. Allen * David Hewson * Derek Buckley * Derek Morr * Eugene Bulkin * [Hans Fjällemark] * Henri Sivonen * Ian Jones * Jakub “Limeth” Hlusička * James Cooper * Jerome Froelich * John Rudnick * Jonathan Turner * Joseph Hain * Jupp Müller * Justin Ossevoort * Karl Hobley * Keith Gray * Kilian Rault * Laurie Hedge * Luca Schmid * Luiz Irber * Mark LeMoine * Masashi Fujita * Matt Rudder * Matthew Brenner * Matthias Ruszala * Max Jacobson * Messense Lv * Micael Bergeron * Nathan Sculli * Nick Stevens * Oluseyi Sonaiya * Ovidiu Curcan * Pascal Hertleif * Patrick O’Doherty * [Paul Naranja] * Peter Tillemans * Ralph Giles (“rillian”) * Raj Venkalil * Ramon Buckley * Randy MacLeod * Raph Levien * reddraggone9 * Ryan Blecher * Sebastián Ramírez Magrí * Shane Utt * Simon G. * Steve Jenson * Steven Knight * Steven Murawski * Stuart Hinson * Tim Brooks * Timm Preetz * Tom Prince * Ty Overby * Tyler Harper * Vesa Kaihlavirta * Victor Kruger * Will Greenberg * William Roe * Yaacov Finkelman * Zachary Snyder * 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

View Details

Paths and matches and SIMD, cargo new changes, and tons of community-driven learning materials!

Show Notes * Rust 1.25.0 blog post * RFC #1358 – #[repr(align)] * RFC #2325 – SIMD stabilization * RustConf CFP * Hello Rust * “Functional and Concurrent Programming in Rust”

Sponsors * Aaron Turon * Alexander Payne * Anthony Deschamps * Anthony Scotti * Antonin Carette * Aleksey Pirogov * Andreas Fischer * Andrew Thompson * Austin LeSure * Behnam Esfahbod * Benjamin Wasty * Brent Vatne * Brian Casiello * Chap Lovejoy * Charlie Egan * Chris Jones * Chris Palmer * Coleman McFarland * Dan Abrams * Daniel Collin * Daniel P. Clark * David W. Allen * David Hewson * Derek Buckley * Derek Morr * Eugene Bulkin * [Hans Fjällemark] * Henri Sivonen * Ian Jones * Jakub “Limeth” Hlusička * James Cooper * Jerome Froelich * John Rudnick * Jonathan Turner * Jupp Müller * Justin Ossevoort * Karl Hobley * Keith Gray * Kilian Rault * Laurie Hedge * Luca Schmid * Luiz Irber * Mark LeMoine * Masashi Fujita * Matt Rudder * Matthew Brenner * Matthias Ruszala * Max Jacobson * Messense Lv * Micael Bergeron * Nathan Sculli * Nick Stevens * Oluseyi Sonaiya * Ovidiu Curcan * Pascal Hertleif * Patrick O’Doherty * [Paul Naranja] * Peter Tillemans * Ralph Giles (“rillian”) * Raj Venkalil * Ramon Buckley * Randy MacLeod * Raph Levien * reddraggone9 * Ryan Blecher * Sebastián Ramírez Magrí * Shane Utt * Simon G. * Steve Jenson * Steven Knight * Steven Murawski * Stuart Hinson * Tim Brooks * Timm Preetz * Tom Prince * Ty Overby * Tyler Harper * Vesa Kaihlavirta * Victor Kruger * Will Greenberg * William Roe * Yaacov Finkelman * Zachary Snyder * 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

View Details

My Rust Belt Rust 2017 talk!

Show Notes * slides * video * script on my website

Sponsors * Aaron Turon * Alexander Payne * Anthony Deschamps * Anthony Scotti * Aleksey Pirogov * Andreas Fischer * Andrew Thompson * Austin LeSure * Behnam Esfahbod * Benjamin Wasty * Brent Vatne * Chap Lovejoy * Charlie Egan * Chris Jones * Chris Palmer * Coleman McFarland * Dan Abrams * Daniel Collin * Daniel P. Clark * David W. Allen * David Hewson * Derek Morr * Eugene Bulkin * [Hans Fjällemark] * Henri Sivonen * Ian Jones * Jakub “Limeth” Hlusička * James Cooper * Jerome Froelich * John Rudnick * Jonathan Turner * Jupp Müller * Justin Ossevoort * Karl Hobley * Keith Gray * Kilian Rault * Luca Schmid * Masashi Fujita * Matt Rudder * Matthew Brenner * Matthias Ruszala * Max Jacobson * Messense Lv * Micael Bergeron * Nathan Sculli * Nick Stevens * Oluseyi Sonaiya * Ovidiu Curcan * Pascal Hertleif * Patrick O’Doherty * [Paul Naranja] * Peter Tillemans * Ralph Giles (“rillian”) * Randy MacLeod * Raph Levien * reddraggone9 * Ryan Blecher * Sebastián Ramírez Magrí * Shane Utt * Simon G. * Steven Murawski * Stuart Hinson * Tim Brooks * Tom Prince * Ty Overby * Tyler Harper * Vesa Kaihlavirta * Victor Kruger * Will Greenberg * William Roe * Yaacov Finkelman * Zachary Snyder * 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

View Details

Performance wins, incremental compilation, and the Rust 2018 Roadmap and Epoch.

Show Notes * Rust 1.24.0 blog post * Rust 1.24.1 blog post * Rust 2018 Roadmap RFC * Rust Epochs RFC

Sponsors * Aaron Turon * Alexander Payne * Anthony Deschamps * Anthony Scotti * Aleksey Pirogov * Andreas Fischer * Andrew Thompson * Austin LeSure * Behnam Esfahbod * Benjamin Wasty * Brent Vatne * Chap Lovejoy * Charlie Egan * Chris Jones * Chris Palmer * Coleman McFarland * Dan Abrams * Daniel Collin * Daniel P. Clark * David W. Allen * David Hewson * Derek Morr * Eugene Bulkin * [Hans Fjällemark] * Henri Sivonen * Ian Jones * Jakub “Limeth” Hlusička * James Cooper * Jerome Froelich * John Rudnick * Jonathan Turner * Jupp Müller * Justin Ossevoort * Karl Hobley * Keith Gray * Kilian Rault * Luca Schmid * Masashi Fujita * Matt Rudder * Matthew Brenner * Matthias Ruszala * Max Jacobson * Messense Lv * Micael Bergeron * Nathan Sculli * Nick Stevens * Oluseyi Sonaiya * Ovidiu Curcan * Pascal Hertleif * Patrick O’Doherty * [Paul Naranja] * Peter Tillemans * Ralph Giles (“rillian”) * Randy MacLeod * Raph Levien * reddraggone9 * Ryan Blecher * Sebastián Ramírez Magrí * Shane Utt * Simon G. * Steven Murawski * Stuart Hinson * Tim Brooks * Tom Prince * Ty Overby * Tyler Harper * Vesa Kaihlavirta * Victor Kruger * Will Greenberg * William Roe * Yaacov Finkelman * Zachary Snyder * 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

View Details

The library for serialization and deserialization in Rust.

Show Notes * Serde * custom derive * serde_json + its JSON parsing + its JSON writer

Sponsors * Aaron Turon * Alexander Payne * Anthony Deschamps * Anthony Scotti * Aleksey Pirogov * Andreas Fischer * Andrew Thompson * Austin LeSure * Behnam Esfahbod * Benjamin Wasty * Brent Vatne * Chap Lovejoy * Charlie Egan * Chris Jones * Chris Palmer * Coleman McFarland * Dan Abrams * Daniel Collin * Daniel P. Clark * David W. Allen * David Hewson * Derek Morr * Eugene Bulkin * [Hans Fjällemark] * Henri Sivonen * Ian Jones * Jakub “Limeth” Hlusička * James Cooper * Jerome Froelich * John Rudnick * Jonathan Turner * Jupp Müller * Justin Ossevoort * Karl Hobley * Keith Gray * Kilian Rault * Luca Schmid * Masashi Fujita * Matt Rudder * Matthew Brenner * Matthias Ruszala * Max Jacobson * Messense Lv * Micael Bergeron * Nathan Sculli * Nick Stevens * Oluseyi Sonaiya * Ovidiu Curcan * Pascal Hertleif * Patrick O’Doherty * [Paul Naranja] * Peter Tillemans * Ralph Giles (“rillian”) * Randy MacLeod * Raph Levien * reddraggone9 * Ryan Blecher * Sebastián Ramírez Magrí * Shane Utt * Simon G. * Steven Murawski * Stuart Hinson * Tim Brooks * Tom Prince * Ty Overby * Tyler Harper * Vesa Kaihlavirta * Victor Kruger * Will Greenberg * William Roe * Yaacov Finkelman * Zachary Snyder * 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

View Details

The “marker traits” that Rust uses for safe concurrency.

Sponsors * Aaron Turon * Alexander Payne * Anthony Deschamps * Anthony Scotti * Aleksey Pirogov * Andreas Fischer * Andrew Thompson * Austin LeSure * Behnam Esfahbod * Benjamin Wasty * Brent Vatne * Chap Lovejoy * Charlie Egan * Chris Jones * Chris Palmer * Coleman McFarland * Dan Abrams * Daniel Collin * Daniel P. Clark * David W. Allen * David Hewson * Derek Morr * Eugene Bulkin * Guido Hoermann * [Hans Fjällemark] * Hendrik Sollich * Henri Sivonen * Ian Jones * Jakub “Limeth” Hlusička * James Cooper * Jerome Froelich * John Rudnick * Jonathan Turner * Jupp Müller * Justin Ossevoort * Karl Hobley * Keith Gray * Kilian Rault * Luca Schmid * Masashi Fujita * Matt Rudder * Matthew Brenner * Matthias Ruszala * Max Jacobson * Messense Lv * Micael Bergeron * Nathan Sculli * Nick Stevens * Oluseyi Sonaiya * Ovidiu Curcan * Pascal Hertleif * Patrick O’Doherty * [Paul Naranja] * Peter Tillemans * Ralph Giles (“rillian”) * Randy MacLeod * Raph Levien * reddraggone9 * Ryan Blecher * Sebastián Ramírez Magrí * Shane Utt * Simon G. * Steven Murawski * Stuart Hinson * Tim Brooks * Tom Prince * Ty Overby * Tyler Harper * Vesa Kaihlavirta * Victor Kruger * Will Greenberg * William Roe * Yaacov Finkelman * Zachary Snyder * 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

View Details

Getting Diesel to 1.0, writing docs and exposing problems with the API, improving Diesel in the future, and thinking about API design for open source libraries in general.

Show notes * Macros 2.0 * The Bike Shed episodes on Diesel 0.99 and 1.0 + 126: Speaking of Compilers… - where Sean talked about some of the same changes mentioned on the show here. + 135: A Series of Unfortunate Examples - where Sean talks a bit more about his adventures writing docs for Diesel 1.0 (and the corresponding feature freeze). * Generic associated types, which you may have heard of under the name “associated type constructors” * Multitenancy * Library patterns: multiple levels of abstraction – Tomas Petricek on designing library abstractions with a 80%/14%/5%/1% structure. * blanket implementations, specialization, coherence, and [the lattice rule][lattice]

Sponsors * Aaron Turon * Alexander Payne * Anthony Deschamps * Anthony Scotti * Aleksey Pirogov * Andreas Fischer * Andrew Thompson * Austin LeSure * Behnam Esfahbod * Benjamin Wasty * Brent Vatne * Chap Lovejoy * Charlie Egan * Chris Jones * Chris Palmer * Coleman McFarland * Dan Abrams * Daniel Collin * Daniel P. Clark * David W. Allen * David Hewson * Derek Morr * Eugene Bulkin * Guido Hoermann * [Hans Fjällemark] * Hendrik Sollich * Henri Sivonen * Ian Jones * Jakub “Limeth” Hlusička * James Cooper * Jerome Froelich * John Rudnick * Jonathan Turner * Jupp Müller * Justin Ossevoort * Karl Hobley * Keith Gray * Kilian Rault * Luca Schmid * Masashi Fujita * Matt Rudder * Matthew Brenner * Matthias Ruszala * Max Jacobson * Messense Lv * Micael Bergeron * Nathan Sculli * Nick Stevens * Oluseyi Sonaiya * Ovidiu Curcan * Pascal Hertleif * Patrick O’Doherty * [Paul Naranja] * Peter Tillemans * Ralph Giles (“rillian”) * Randy MacLeod * Raph Levien * reddraggone9 * Ryan Blecher * Sebastián Ramírez Magrí * Shane Utt * Simon G. * Steven Murawski * Stuart Hinson * Tim Brooks * Tom Prince * Ty Overby * Tyler Harper * Vesa Kaihlavirta * Victor Kruger * Will Greenberg * William Roe * Yaacov Finkelman * Zachary Snyder * 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

View Details

Growing Diesel's community, self-imposed technical challenges, and some of the ways Diesel has contributed to the Rust ecosystem.

Show notes * Sean’s previous appearance on the show * Chat app options: + IRC + Slack + Gitter - The Diesel Gitter room + Discord * SQL back ends + PostgreSQL + SQLite + MySQL * endianness * byteorder crate * object safety * trait object * Sean’s RustConf talk + monomorphization * Custom derive and procedural macros

Sponsors * Aaron Turon * Alexander Payne * Anthony Deschamps * Anthony Scotti * Aleksey Pirogov * Andreas Fischer * Andrew Thompson * Austin LeSure * Behnam Esfahbod * Benjamin Wasty * Brent Vatne * Chap Lovejoy * Charlie Egan * Chris Jones * Chris Palmer * Coleman McFarland * Dan Abrams * Daniel Collin * Daniel P. Clark * David W. Allen * David Hewson * Derek Morr * Eugene Bulkin * Guido Hoermann * [Hans Fjällemark] * Henri Sivonen * Ian Jones * Jakub “Limeth” Hlusička * James Cooper * Jerome Froelich * John Rudnick * Jonathan Turner * Jupp Müller * Justin Ossevoort * Karl Hobley * Keith Gray * Kilian Rault * Luca Schmid * Masashi Fujita * Matt Rudder * Matthew Brenner * Matthias Ruszala * Max Jacobson * Messense Lv * Micael Bergeron * Nathan Sculli * Nick Stevens * Oluseyi Sonaiya * Ovidiu Curcan * Pascal Hertleif * Patrick O’Doherty * [Paul Naranja] * Peter Tillemans * Ralph Giles (“rillian”) * Randy MacLeod * Raph Levien * reddraggone9 * Ryan Blecher * Sebastián Ramírez Magrí * Simon G. * Steven Murawski * Stuart Hinson * Tim Brooks * Tom Prince * Ty Overby * Tyler Harper * Vesa Kaihlavirta * Victor Kruger * Will Greenberg * William Roe * Yaacov Finkelman * Zachary Snyder * Zaki

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

View Details

Show notes * Rust 1.23 + 1.23 release notes + rustdoc tracking issue + rustdoc blog post + not copying function arguments + the first news episode * the impl period + impl period announcement + final newsletter + Diesel ORM * Firefox Quantum + “Fearless Concurrency in Firefox Quantum” + e015: Not dumb pointers. * WebAssembly + classic asteroids game + a password generator + Yew + JSX + stdweb + Glimmer VM spike + “Rust and the Case for WebAssembly in 2018” * “New Year’s Rust: A Call for Community Blogposts” * my other podcast, Winning Slowly

Sponsors * Aaron Turon * Alexander Payne * Anthony Deschamps * Anthony Scotti * Aleksey Pirogov * Andreas Fischer * Andrew Thompson * Austin LeSure * Behnam Esfahbod * Benjamin Wasty * Brent Vatne * Chap Lovejoy * Charlie Egan * Chris Jones * Chris Palmer * Coleman McFarland * Dan Abrams * Daniel Collin * Daniel P. Clark * David W. Allen * David Hewson * Derek Morr * Eugene Bulkin * Henri Sivonen * Ian Jones * Jakub “Limeth” Hlusička * James Cooper * Jerome Froelich * John Rudnick * Jonathan Turner * Jupp Müller * Justin Ossevoort * Karl Hobley * Keith Gray * Kilian Rault * Luca Schmid * Masashi Fujita * Matt Rudder * Matthew Brenner * Matthias Ruszala * Max Jacobson * Messense Lv * Micael Bergeron * Nathan Sculli * Nick Stevens * Oluseyi Sonaiya * Ovidiu Curcan * Pascal Hertleif * Patrick O’Doherty * [Paul Naranja] * Peter Tillemans * Ralph Giles (“rillian”) * Randy MacLeod * Raph Levien * reddraggone9 * Ryan Blecher * Sebastián Ramírez Magrí * Simon G. * Steven Murawski * Stuart Hinson * Tim Brooks * Tom Prince * Ty Overby * Tyler Harper * Vesa Kaihlavirta * Victor Kruger * Will Greenberg * William Roe * Yaacov Finkelman * Zachary Snyder * Zaki

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

View Details

Matt’s experience porting wget to Rust.

Show Notes * Rosetta Code * wget + Matt’s Rust implementation * Matt’s blog posts + Writing a Command Line Tool in Rust + Testing a Rust Command Line Tool * Rust Nairobi + Meetup + @RustNairobi

Sponsors * Aaron Turon * Alexander Payne * Anthony Deschamps * Anthony Scotti * Aleksey Pirogov * Andreas Fischer * Andrew Thompson * Austin LeSure * Behnam Esfahbod * Benjamin Wasty * Brent Vatne * Chap Lovejoy * Charlie Egan * Chris Jones * Chris Palmer * Coleman McFarland * Dan Abrams * Daniel Collin * Daniel P. Clark * David W. Allen * David Hewson * Derek Morr * Eugene Bulkin * Henri Sivonen * Ian Jones * Jakub “Limeth” Hlusička * James Cooper * Jerome Froelich * John Rudnick * Jonathan Turner * Jupp Müller * Justin Ossevoort * Karl Hobley * Keith Gray * Kilian Rault * Luca Schmid * Masashi Fujita * Matt Rudder * Matthew Brenner * Matthias Ruszala * Max Jacobson * Messense Lv * Micael Bergeron * Nathan Sculli * Nick Stevens * Oluseyi Sonaiya * Ovidiu Curcan * Pascal Hertleif * Patrick O’Doherty * Peter Tillemans * Ralph Giles (“rillian”) * Randy MacLeod * Raph Levien * reddraggone9 * Ryan Blecher * Sebastián Ramírez Magrí * Simon G. * Steven Murawski * Stuart Hinson * Tim Brooks * Tom Prince * Ty Overby * Tyler Harper * Vesa Kaihlavirta * Victor Kruger * Will Greenberg * William Roe * Yaacov Finkelman * Zachary Snyder * 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

View Details

Lee’s experience designing a new website for Rust.

Show Notes * Increasing Rust’s Reach * Ember * Rails * Talks + at RustConf (as Liz Baillie) + at RustFest Kyiv (as Liz Baillie) + comparing Rust and Ruby at a meetup * Sinatra * Helix * the Slackbot framework

Sponsors * Aaron Turon * Alexander Payne * Anthony Deschamps * Anthony Scotti * Aleksey Pirogov * Andreas Fischer * Andrew Thompson * Austin LeSure * Behnam Esfahbod * Benjamin Wasty * Brent Vatne * Chap Lovejoy * Charlie Egan * Chris Jones * Chris Palmer * Coleman McFarland * Dan Abrams * Daniel Collin * Daniel P. Clark * David W. Allen * David Hewson * Derek Morr * Eugene Bulkin * Henri Sivonen * Ian Jones * Jakub “Limeth” Hlusička * James Cooper * Jerome Froelich * John Rudnick * Jonathan Turner * Jupp Müller * Justin Ossevoort * Karl Hobley * Keith Gray * Kilian Rault * Luca Schmid * Masashi Fujita * Matt Rudder * Matthew Brenner * Matthias Ruszala * Max Jacobson * Messense Lv * Micael Bergeron * Nathan Sculli * Nick Stevens * Oluseyi Sonaiya * Ovidiu Curcan * Pascal Hertleif * Patrick O’Doherty * Peter Tillemans * Ralph Giles (“rillian”) * Randy MacLeod * Raph Levien * reddraggone9 * Ryan Blecher * Sebastián Ramírez Magrí * Simon G. * Steven Murawski * Stuart Hinson * Tim Brooks * Tom Prince * Ty Overby * Tyler Harper * Vesa Kaihlavirta * Victor Kruger * Will Greenberg * William Roe * Yaacov Finkelman * Zachary Snyder * 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

View Details

Anna's experience learning Rust while porting a Raspberry Pi Python project as part of the Increasing Rust’s Reach 2017 program.

Show Notes * Increasing Rust’s Reach * Go * This Week In Rust * PyCon * Raspberry Pi * Sense HAT * PyCascades * Andrew Gallant (burntsushi) + ripgrep * RustBridge * exercism.io * the other Sense HAT Rust conversion

Sponsors * Aaron Turon * Alexander Payne * Anthony Deschamps * Anthony Scotti * Aleksey Pirogov * Andreas Fischer * Andrew Thompson * Austin LeSure * Behnam Esfahbod * Benjamin Wasty * Brent Vatne * Chap Lovejoy * Charlie Egan * Chris Jones * Chris Palmer * Coleman McFarland * Dan Abrams * Daniel Collin * Daniel P. Clark * David W. Allen * David Hewson * Derek Morr * Eugene Bulkin * Henri Sivonen * Ian Jones * Jakub “Limeth” Hlusička * James Cooper * Jerome Froelich * John Rudnick * Jonathan Turner * Jupp Müller * Justin Ossevoort * Karl Hobley * Keith Gray * Kilian Rault * Luca Schmid * Masashi Fujita * Matt Rudder * Matthew Brenner * Matthias Ruszala * Max Jacobson * Messense Lv * Micael Bergeron * Nathan Sculli * Nick Stevens * Oluseyi Sonaiya * Ovidiu Curcan * Pascal Hertleif * Patrick O’Doherty * Peter Tillemans * Ralph Giles (“rillian”) * Randy MacLeod * Raph Levien * reddraggone9 * Ryan Blecher * Sebastián Ramírez Magrí * Simon G. * Steven Murawski * Stuart Hinson * Tim Brooks * Tom Prince * Ty Overby * Tyler Harper * Vesa Kaihlavirta * Victor Kruger * Will Greenberg * William Roe * Yaacov Finkelman * Zachary Snyder * 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

View Details

A micro-interview recorded at Rust Belt Rust 2017, in Columbus, Ohio, October 27–28.

View Details

A micro-interview recorded at Rust Belt Rust 2017, in Columbus, Ohio, October 27–28.

View Details

A micro-interview recorded at Rust Belt Rust 2017, in Columbus, Ohio, October 27–28.

View Details

A micro-interview recorded at Rust Belt Rust 2017, in Columbus, Ohio, October 27–28.

View Details

A micro-interview recorded at Rust Belt Rust 2017, in Columbus, Ohio, October 27–28.

View Details

A micro-interview recorded at Rust Belt Rust 2017, in Columbus, Ohio, October 27–28.

View Details

A micro-interview recorded at Rust Belt Rust 2017, in Columbus, Ohio, October 27–28.

View Details

A micro-interview recorded at Rust Belt Rust 2017, in Columbus, Ohio, October 27–28.

View Details

A micro-interview recorded at Rust Belt Rust 2017, in Columbus, Ohio, October 27–28.

View Details

A micro-interview recorded at Rust Belt Rust 2017, in Columbus, Ohio, October 27–28.

View Details

Quality of life improvements, Failure, wasm, and rustdoc fun.

Links and Notes * Rust 1.21 + blog post + “When Will the RLS be Released?” * Rust 1.22 * Rusty Spike * Rust Fest * Rust Belt Rust + YouTube channel + my talk: script and slides * the Failure crate + prior art: error-chain * wasm support in Rust itself * external Markdown files for docs + the RFC + the implementation

Sponsors * Aaron Turon * Alexander Payne * Anthony Deschamps * Anthony Scotti * Anton Van Moere * Aleksey Pirogov * Andreas Fischer * Andrew Thompson * Austin LeSure * Behnam Esfahbod * Benjamin Wasty * Brent Vatne * Caryn Finkelman * Charlie Egan * Chris Jones * Christian Schwarz * Chris Palmer * Dan Abrams * Daniel Collin * David W. Allen * David Hewson * Derek Morr * Eugene Bulkin * Henri Sivonen * Ian Jones * Jakub “Limeth” Hlusička * James Cooper * Jerome Froelich * John Chandler * Jonathan Turner * Jupp Müller * Justin Ossevoort * Karl Hobley * Keith Gray * Kilian Rault * Luca Schmid * Masashi Fujita * Matt Rudder * Matthew Bettcher * Matthew Brenner * Matthew Piziak * Matthias Ruszala * Max Jacobson * Messense Lv * Micael Bergeron * Nathan Sculli * Nick Stevens * Oluseyi Sonaiya * Ovidiu Curcan * Pascal Hertleif * Patrick O’Doherty * Peter Tillemans * Peter Zuidhoek * Ralph Giles (“rillian”) * Randy MacLeod * Raph Levien * reddraggone9 * Ryan Blecher * Sam Whited * Sebastián Ramírez Magrí * Simon G. * Steven Murawski * Stuart Hinson * Tim Brooks * Tom Prince * Ty Overby * Tyler Harper * Vesa Kaihlavirta * William Roe * Zachary Snyder * 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

View Details

A micro-interview recorded at Rust Belt Rust 2017, in Columbus, Ohio, October 27–28.

View Details

A micro-interview recorded at Rust Belt Rust 2017, in Columbus, Ohio, October 27–28.

View Details

A micro-interview recorded at Rust Belt Rust 2017, in Columbus, Ohio, October 27–28.

View Details

A micro-interview recorded at Rust Belt Rust 2017, in Columbus, Ohio, October 27–28.

Transcript

Chris: hello! Can you tell me your name and a little bit about yourself?

Anthony: My name is Anthony Deschamps, I, um, I’m a software developer, I work in Automotive.

Chris: Oh! Very interesting. Long-time listeners will recognize Anthony’s name as a sponsor of the show; thank you for sponsoring the show!

Anthony: You’re welcome!

Chris: So, what got you into Rust?

Anthony: I’ve talked about this earlier; I actually can’t remember how I first came across it. Um, I remember my friends being excited about it and looking at it at some point, um, but what really hooked me is that I have a huge amount of respect for C+ +, uh, it was one of my first languages, and to me, Rust feels like C+ + with decades of learned lessons. If we have a clean slate, and what you can do with a fresh start.

Chris: Yeah. How long - do you remember roughly, obviously you don’t remember exactly when, but - do you remember roughly how long...pre 1.0, post 1.0?

Anthony: Uh, probably about a year ago, so, somewhere after 1.10 or roundabouts.

Chris: Okay. Very good. What has your experience of learning Rust been like? Good, bad, ugly?

Anthony: Um, it’s made my C+ + better.

Chris: Yeah.

Anthony: Everything thing that I struggled with in Rust was really just a lesson for what I could be doing better in other places.

Chris: What are you using Rust for presently? Are you able to use it at work at all, or is it side projects entirely, still?

Anthony: So, a combination of hobby projects, uh, when I have time. And, a little bit at work. It’s one of those things where it is a little bit of a risk, a newer thing, so it’s been nice to try it out on some small things, see how it goes, and realize that I do like it and get excited about hoping to use it more.

Chris: Yeah. What kind of side projects have you been able to do?

Anthony: Um, when I get around to strapping a Raspberry Pi to a balloon and sending it up to the stratosphere to take some photos, that’ll be in Rust.

Chris: That’s awesome.

Anthony: I also like to play around with arduinos, and LEDs are fun, and I’m using a little bit of Rust there.

Chris: Cool. Is there anything in particular that’s caught your attention either with this conference or with the Rust community in general?

Anthony: The most exciting thing to me is meeting the people who are making the things that I enjoy using. Uh, it seems obvious when you really think about it, but, um, the things that you use are not made by some...cloud, or void, or they don’t just come out of nowhere, they’re made from real people, who really enjoy working on what they’re doing, and are really excited to talk to you about it.

Chris: I share that sentiment deeply. Thank you for your time!

Anthony: Well, thank you so much for the podcast. I really enjoy it.

Chris: My pleasure, and absolutely awesome, speaking of meeting people in person, it’s great to meet you in person!

Anthony: I agree. Thank you so much.

Chris: Thank you!

View Details

A micro-interview recorded at Rust Belt Rust 2017, in Columbus, Ohio, October 27–28.

View Details

Two years and fifty episodes of New Rustacean—time to celebrate with stickers and shirts!

Links * JavaScript to Elm * Idris * Elixir

Shirts Get them here! – available till Oct 9, 2017 at 8:00 PM EDT.

Sponsors * Aaron Turon * Alexander Payne * Anthony Deschamps * Anthony Scotti * Aleksey Pirogov * Andreas Fischer * Andrew Thompson * Austin LeSure * Behnam Esfahbod * Benjamin Wasty * Brent Vatne * Charlie Egan * Chris Jones * Chris Palmer * Dan Abrams * Daniel Collin * [David W. Allen] * David Hewson * Derek Morr * Eugene Bulkin * Henri Sivonen * Ian Jones * Jakub "Limeth" Hlusička * James Cooper * Jerome Froelich * Jonathan Turner * Jupp Müller * Justin Ossevoort * Karl Hobley * Keith Gray * Kilian Rault * Luca Schmid * Masashi Fujita * Matt Rudder * Matthew Brenner * Matthew Piziak * Matthias Ruszala * Max Jacobson * Messense Lv * Micael Bergeron * Nathan Sculli * Nick Stevens * Ovidiu Curcan * Pascal Hertleif * Patrick O'Doherty * Peter Tillemans * Philipp Keller * Ralph Giles ("rillian") * Randy MacLeod * Raph Levien * reddraggone9 * Ryan Blecher * Sebastián Ramírez Magrí * Simon G. * Steven Murawski * Stuart Hinson * Tim Brooks * Tom Prince * Ty Overby * Tyler Harper * Vesa Kaihlavirta * Warren Harper * William Roe * Zachary Snyder * 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

View Details

Safe, threaded, parallel code in Rust!

Links and NotesRayon* Source * Crate * Docs * README * blog post

Other things referenced on the show* Request for Explanation #10 * [e016: RefCells and code smells] – on mutability * ["embarassingly parallel"]

https://www.newrustacean.com/show_notes/e016/index.html ["embarassingly parallel"]: https://en.wikipedia.org/wiki/Embarrassingly_parallel

Sponsors* Anthony Deschamps * Anthony Scotti * Aleksey Pirogov * Andreas Fischer * Andrew Thompson * Austin LeSure * Behnam Esfahbod * Benjamin Wasty * Brent Vatne * Charlie Egan * Chris Jones * Chris Palmer * Dan Abrams * Daniel Collin * [David W. Allen] * Derek Morr * Eugene Bulkin * Henri Sivonen * Jakub "Limeth" Hlusička * James Cooper * Jerome Froelich * Jonathan Turner * Jupp Müller * Justin Ossevoort * Karl Hobley * Keith Gray * Kilian Rault * Luca Schmid * Masashi Fujita * Matt Rudder * Matthew Piziak * Matthias Ruszala * Max Jacobson * Messense Lv * Micael Bergeron * Nathan Sculli * Nick Stevens * Ovidiu Curcan * Pascal Hertleif * Patrick O'Doherty * Peter Tillemans * Philipp Keller * Ralph Giles ("rillian") * Randy MacLeod * Raph Levien * reddraggone9 * Sebastián Ramírez Magrí * Simon G. * Steven Murawski * Stuart Hinson * Tim Brooks * Tom Prince * Ty Overby * Tyler Harper * Vesa Kaihlavirta * Warren Harper * William Roe * 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

View Details

Associated constants, conference season, meetups, and more!

Links and Notes* Rust 1.20 + blog post + changelog + Associated items RFC – and see the code for today's show for examples of the variants I described on the show! * RustConf 2017 * RustFest 2017 + registration * Rust Belt Rust 2017 + registration (and don't forget to use code newrustacean for 20% off!) * rustrations.club

Sponsors* Anthony Deschamps * Anthony Scotti * Aleksey Pirogov * Andreas Fischer * Andrew Thompson * Austin LeSure * Behnam Esfahbod * Benjamin Wasty * Brent Vatne * Charlie Egan * Chris Jones * Chris Palmer * Dan Abrams * Daniel Collin * [David W. Allen] * Derek Morr * Eugene Bulkin * Henri Sivonen * Jakub "Limeth" Hlusička * James Cooper * Jonathan Turner * Jordan Henderson * Jupp Müller * Justin Ossevoort * Karl Hobley * Keith Gray * Kilian Rault * Luca Schmid * Masashi Fujita * Matt Rudder * Matthew Piziak * Max Jacobson * Messense Lv * Micael Bergeron * Nathan Sculli * Nick Stevens * Ovidiu Curcan * Pascal Hertleif * Patrick O'Doherty * Peter Tillemans * Philipp Keller * Ralph Giles ("rillian") * Randy MacLeod * Raph Levien * reddraggone9 * Sebastián Ramírez Magrí * Simon G. * Steven Murawski * Stuart Hinson * Tim Brooks * Tom Prince * Ty Overby * Tyler Harper * Vesa Kaihlavirta * Warren Harper * William Roe * 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

View Details

My experience with ember-cli-typescript as an example: we're all just people muddling along and doing our best.

Links and Notes* ember-cli-typescript * The Bike Shed #118: Nonsense In, Nonsense Out * Sean's appearance on New Rustacean: Interview 1

Sponsors* Anthony Deschamps * Anthony Scotti * Aleksey Pirogov * Andreas Fischer * Andrew Thompson * Behnam Esfahbod * Benjamin Wasty * Brent Vatne * Charlie Egan * Chris Jones * Chris Palmer * Christopher Giffard * Dan Abrams * Daniel Collin * [David W. Allen] * Derek Morr * Eugene Bulkin * Henri Sivonen * Jakub "Limeth" Hlusička * James Cooper * Jonathan Turner * Jordan Henderson * Jupp Müller * Justin Ossevoort * Karl Hobley * Keith Gray * Kilian Rault * Luca Schmid * Matt Rudder * Matthew Piziak * Max Jacobson * Messense Lv * Micael Bergeron * Oliver Uvman - see the Tomaka Patreon and arewegameyet.com * Ovidiu Curcan * Pascal Hertleif * Patrick O'Doherty * Peter Tillemans * Philipp Keller * Ralph Giles ("rillian") * Randy MacLeod * Raph Levien * Raphael * Rob Tsuk * reddraggone9 * Sebastián Ramírez Magrí * Steven Murawski * Stuart Hinson * Tim Brooks * Tom Prince * Ty Overby * Tyler Harper * Vesa Kaihlavirta * Warren Harper * William Roe * 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

View Details

Using type aliases and creating custom type wrappers for more expressive and safer code.

Links and Notes * Deref * Iterator * std::io::Result

Sponsors * Anthony Deschamps * Anthony Scotti * Aleksey Pirogov * Andreas Fischer * Andrew Thompson * Austin LeSure * Behnam Esfahbod * Benjamin Wasty * Brent Vatne * Charlie Egan * Chris Jones * Chris Palmer * Dan Abrams * Daniel Collin * David W. Allen * Derek Morr * Eugene Bulkin * Henri Sivonen * Jakub "Limeth" Hlusička * James Cooper * Jonathan Turner * Jordan Henderson * Jupp Müller * Justin Ossevoort * Karl Hobley * Keith Gray * Kilian Rault * Luca Schmid * Matt Rudder * Matthew Piziak * Max Jacobson * Messense Lv * Micael Bergeron * Ovidiu Curcan * Pascal Hertleif * Patrick O'Doherty * Peter Tillemans * Philipp Keller * Ralph Giles ("rillian") * Randy MacLeod * Raph Levien * reddraggone9 * Sebastián Ramírez Magrí * Steven Murawski * Stuart Hinson * Tim Brooks * Tom Prince * Ty Overby * Tyler Harper * Vesa Kaihlavirta * Warren Harper * William Roe * 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

View Details

Growing Rust's diversity to help Rust grow.

Links and Notes * Initiative blog post * Initiative submission form

Sponsors * Anthony Deschamps * Anthony Scotti * Aleksey Pirogov * Andreas Fischer * Andrew Thompson * Austin LeSure * Behnam Esfahbod * Benjamin Wasty * Charlie Egan * Chris Jones * Chris Palmer * Christopher Giffard * Dan Abrams * Daniel Collin * Derek Morr * Eugene Bulkin * Henri Sivonen * Jakub "Limeth" Hlusička * James Cooper * Jonathan Turner * Jordan Henderson * Jupp Müller * Justin Ossevoort * Karl Hobley * Keith Gray * Kilian Rault * Luca Schmid * Matt Rudder * Matthew Piziak * Max Jacobson * Messense Lv * Micael Bergeron * Ovidiu Curcan * Pascal Hertleif * Patrick O'Doherty * Peter Tillemans * Philipp Keller * Ralph Giles ("rillian") * Randy MacLeod * Raph Levien * reddraggone9 * Sean Jensen-Grey * Sebastián Ramírez Magrí * Steven Murawski * Stuart Hinson * Tim Brooks * Tom Prince * Ty Overby * Tyler Harper * Vesa Kaihlavirta * Warren Harper * William Roe * 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

View Details

An accessible, well-designed web framework in Rust!

Links and Notes * Rocket * Hyper * Iron * Django * Rails * ASP.NET MVC * Procedural macros + in the Rust book - first edition - second edition – still in progress at time of publication + RFC #1566 - implementation tracking issue * metaprogramming * Lisp

Sponsors * Anthony Deschamps * Anthony Scotti * Aleksey Pirogov * Andreas Fischer * Andrew Thompson * Austin LeSure * Ben Whitley * Behnam Esfahbod * Benjamin Wasty * Charlie Egan * Chris Jones * Chris Palmer * Christopher Giffard * Dan Abrams * Daniel Collin * Derek Morr * Eugene Bulkin * Henri Sivonen * Jakub "Limeth" Hlusička * Jonathan Turner * Jordan Henderson * Jupp Müller * Justin Ossevoort * Karl Hobley * Keith Gray * Kilian Rault * Lachlan Collins * Luca Schmid * Matt Rudder * Matthew Piziak * Max Jacobson * Micael Bergeron * Ovidiu Curcan * Pascal Hertleif * Patrick O'Doherty * Peter Tillemans * Philipp Keller * Ralph Giles ("rillian") * Randy MacLeod * Raph Levien * reddraggone9 * Steven Murawski * Stuart Hinson * Tim Brooks * Tom Prince * Ty Overby * Tyler Harper * Vesa Kaihlavirta * Warren Harper * William Roe * 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

View Details

Smoothing the Rust dev story Future work on the RLS, in Rust itself, and in Servo.

Show Notes Building the Rust Language Service:

  • Language Server Protocol plugins
    • RLS reference VS Code plugin
    • Kalita Alexey's vscode-rust
    • langserver.org
  • The 2017 Rust Roadmap
    • Improved match ergonomics around references
    • const generics
      • RFC #1931

Working on Servo:

  • Servo
    • Windows nightlies
  • LLVM
    • Apple's use on their graphics pipeline:
      • OpenGL
      • Metal
    • clang
    • Swift
  • Project Quantum
  • WebKit
    • KHTML
    • Safari

Sponsors * Anthony Deschamps * Anthony Scotti * Aleksey Pirogov * Andreas Fischer * Andrew Thompson * Austin LeSure * Ben Whitley * Behnam Esfahbod * Benjamin Wasty * Charlie Egan * Chris Jones * Chris Palmer * Christopher Giffard * Dan Abrams * Daniel Collin * Derek Morr * Eugene Bulkin * Henri Sivonen * Jakub "Limeth" Hlusička * Jonathan Turner * Jordan Henderson * Jupp Müller * Justin Ossevoort * Karl Hobley * Keith Gray * Kilian Rault * Lachlan Collins * Luca Schmid * Matt Rudder * Matthew Piziak * Max Jacobson * Micael Bergeron * Ovidiu Curcan * Pascal Hertleif * Patrick O'Doherty * Peter Tillemans * Philipp Keller * Ralph Giles ("rillian") * Randy MacLeod * Raph Levien * reddraggone9 * Steven Murawski * Stuart Hinson * Tim Brooks * Tom Prince * Ty Overby * Tyler Harper * Vesa Kaihlavirta * Warren Harper * William Roe * 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

View Details

Making Rust Better Rust as the fusion of systems and high-level programming languages, and the RLS.

Show Notes * The survey * Language adoption: + Guido van Rossum and Python + Matz (Yukihiro Matsumoto) and Ruby + Dart

Building the Rust Language Service:

  • Racer
  • rustw
  • Language Server Protocol
  • Demo at RustConf 2016
  • Anders Hejlsberg – designer or lead developer of Turbo Pascal, Delphi, C#, and TypeScript
  • Serde
  • Roadmap GitHub Project
  • Language Server Protocol plugins
    • RLS reference VS Code plugin
    • Kalita Alexey’s vscode-rust
    • langserver.org
  • The 2017 Rust Roadmap
    • Improved match ergonomics around references
    • const generics
      • RFC #1931

Sponsors * Anthony Deschamps * Anthony Scotti * Aleksey Pirogov * Andreas Fischer * Andrew Thompson * Austin LeSure * Ben Whitley * Charlie Egan * Chris Jones * Chris Palmer * Christopher Giffard * Dan Abrams * Daniel Collin * Derek Morr * Eugene Bulkin * Henri Sivonen * Jakub “Limeth” Hlusička * Jonathan Turner * Jordan Henderson * Jupp Müller * Justin Ossevoort * Karl Hobley * Keith Gray * Kilian Rault * Lachlan Collins * Luca Schmid * Matt Rudder * Matthew Piziak * Max Jacobson * Micael Bergeron * Ovidiu Curcan * Pascal Hertleif * Patrick O’Doherty * Peter Tillemans * Philipp Keller * Ralph Giles (“rillian”) * Raph Levien * reddraggone9 * Steven Murawski * Stuart Hinson * Ty Overby * Tyler Harper * Vesa Kaihlavirta * Warren Harper * William Roe * 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

View Details

Getting to Rust Background, TypeScript, coming to Rust, and how helpful the Rust community can be.

Show Notes On Jonathan's programming backstory:

  • TI-99/4A
  • Commodore 64
  • Cray
    • Chapel
  • TypeScript
  • Yehuda Katz
  • ECMAScript Language Committee
  • Data locality
  • CPPCast
  • BASIC
  • Pascal
  • Ultima

After the transition to working on Rust full-time:

  • Improving the error messages—
    • design issue
    • Jonathan's personal blog post "Helping with the Rust Errors"
    • Official Rust blog post announcing and describing the feature, "Shape of Errors to Come"
    • Elm
    • error list issue

Sponsors * Anthony Deschamps * Anthony Scotti * Aleksey Pirogov * Andreas Fischer * Andrew Thompson * Austin LeSure * Ben Whitley * Charlie Egan * Chris Jones * Chris Palmer * Christopher Giffard * Dan Abrams * Daniel Collin * Derek Morr * Eugene Bulkin * Henri Sivonen * Jakub "Limeth" Hlusička * Jonathan Turner * Jordan Henderson * Jupp Müller * Justin Ossevoort * Karl Hobley * Keith Gray * Kilian Rault * Lachlan Collins * Luca Schmid * Matt Rudder * Matthew Piziak * Max Jacobson * Micael Bergeron * Ovidiu Curcan * Pascal Hertleif * Patrick O'Doherty * Peter Tillemans * Philipp Keller * Ralph Giles ("rillian") * Raph Levien * reddraggone9 * Steven Murawski * Stuart Hinson * Ty Overby * Tyler Harper * Vesa Kaihlavirta * Warren Harper * William Roe * 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

View Details

Where the RLS came from, what it can do, and how you can start using it today!

Notes One major ergonomic improvement to developing in Rust in 2017 is coming via the Rust Language Service: an initiative that lets us share a common core of functionality between every editor – from Vim to VS Code and everything in between. In today's episode, I give some background on it and talk about how you can start using it today!

Links * Rust Language Service + repo + blog posts - announcement - alpha 2 release - first rustup release + vscode-rust * Language Server Protocol + repo + VS Code blog post + implementations

Sponsors * Anthony Deschamps * Aleksey Pirogov * Andreas Fischer * Andrew Thompson * Austin LeSure * Ben Whitley * Charlie Egan * Chris Jones * Chris Palmer * Christopher Giffard * Dan Abrams * Daniel Collin * Derek Morr * Eugene Bulkin * Jakub "Limeth" Hlusička * Jordan Henderson * Jupp Müller * Justin Ossevoort * Karl Hobley * Keith Gray * Lachlan Collins * Luca Schmid * Matt Rudder * Matthew Piziak * Max Jacobson * Micael Bergeron * Ovidiu Curcan * Pascal Hertleif * Patrick O'Doherty * Peter Tillemans * Philipp Keller * Ralph Giles ("rillian") * Raph Levien * reddraggone9 * Steven Murawski * Stuart Hinson * Tyler Harper * Vesa Kaihlavirta * Warren Harper * William Roe * 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

View Details

How do we organize code in Rust? Where do we break it apart into modules or crates, and why?

Notes Structuring code in a language like Rust can seem a bit more ambiguous than doing the same in a language with classes to attach all our functionality to, but in practice, the concerns are much the same: modules are namespaces, and we group by responsibility. In today's episode, I talk through that philosophy (and give some comparisons to other languages), and then look at what it looks like in practice!

Links * Learning Rust Modules, by Jeff Walker, has a nice comparison of C# namespaces and Rust modules. * The commit on Lightning inspired by this episode.

Sponsors * Aleksey Pirogov * Andreas Fischer * Andrew Thompson * Austin LeSure * Ben Whitley * Charlie Egan * Chris Jones * Chris Palmer * Christopher Giffard * Dan Abrams * Daniel Collin * Derek Morr * Eugene Bulkin * Jakub "Limeth" Hlusička * Jordan Henderson * Jupp Müller * Justin Ossevoort * Karl Hobley * Keith Gray * Lachlan Collins * Luca Schmid * Matt Rudder * Matthew Piziak * Max Jacobson * Micael Bergeron * Ovidiu Curcan * Pascal Hertleif * Patrick O'Doherty * Peter Tillemans * Philipp Keller * Ralph Giles ("rillian") * Raph Levien * reddraggone9 * Steven Murawski * Stuart Hinson * Tyler Harper * Vesa Kaihlavirta * Vlad Bezden * Warren Harper * William Roe * 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

View Details

On the responsibilities and opportunities we have to help others with our knowledge and abilities.

Notes Many of us have been very blessed with opportunities and support as we learn software. We should go out of our way to share with others in kind. Today, my focus is on teaching, but there are lots of ways to "give back." And I'd love to hear your thoughts and things you're doing in that vein!

Links * Julia Evans * keyof and Mapped Types in TypeScript 2.1 -- the blog post I mentioned writing a few months ago.

Sponsors * Aleksey Pirogov * Andreas Fischer * Andrew Thompson * Austin LeSure * Ben Whitley * Charlie Egan * Chris Jones * Chris Palmer * Christopher Giffard * Dan Abrams * Daniel Collin * Derek Morr * Eugene Bulkin * Jakub "Limeth" Hlusička * Jordan Henderson * Jupp Müller * Justin Ossevoort * Karl Hobley * Keith Gray * Lachlan Collins * Luca Schmid * Matt Rudder * Matthew Piziak * Max Jacobson * Micael Bergeron * Ovidiu Curcan * Pascal Hertleif * Patrick O'Doherty * Peter Tillemans * Philipp Keller * Ralph Giles ("rillian") * Raph Levien * reddraggone9 * Steven Murawski * Stuart Hinson * Tyler Harper * Vesa Kaihlavirta * Vlad Bezden * Warren Harper * William Roe * 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

View Details

The final pieces of the story for (single-threaded) memory management in Rust.

Notes Sometimes, we actually do need to copy types. Wouldn't it be nice if Rust gave us a convenient way to do that when it's convenient, or when the cost is low enough that the ergonomic tradeoffs are worth it? Well, perhaps unsurprisingly, it does! The Copy and Clone traits, plus the Cow type, give us everything we need!

Links * underhanded.rs * The typess

+ `std::marker::Copy`


    - "`Copy` types" in the book
    - "Stack-Only Data: Copy" in the new book
    - 7.2.0.2 Moved and copied types:



    > 
    > When a local variable is used as an rvalue, the variable will be copied if its type implements `Copy`. All others are moved.
    > 
    > 
    >
    - Extended example in "Traits" section of new book
+ `std::clone::Clone`
+ `std::borrow::Cow`
  • Default implementations

    • discussion in the current book
    • discussion in the new book
    • Supertraits

    • from the discussion in the reference (6.1.9 Traits):

    Traits may inherit from other traits.... The syntax Circle : Shape means that types that implement Circle must also have an implementation for Shape. Multiple supertraits are separated by +, trait Circle : Shape + PartialEq { }. In an implementation of Circle for a given type T, methods can refer to Shape methods, since the typechecker checks that any type with an implementation of Circle also has an implementation of Shape...

    • discussion of trait "inheritance" in the book
    • discussion of trait super- and subtyping in the new book (note: still to-be-written at the time this episode was published)
    • Marker traits
    • std::marker
    • in the reference: 9 Special Traits
    • Previous episodes on traits:

    • e008: Just like something else

    • e009: Composing a Rustic tune

Sponsors * Aleksey Pirogov * Andreas Fischer * Andrew Thompson * Austin LeSure * Ben Whitley * Charlie Egan * Chris Palmer * Christopher Giffard * Daniel Collin * Derek Morr * Jakub "Limeth" Hlusička * Jordan Henderson * Jupp Müller * Keith Gray * Lachlan Collins * Luca Schmid * Matt Rudder * Matthew Piziak * Max Jacobson * Micael Bergeron * Ovidiu Curcan * Pascal Hertleif * Peter Tillemans * Philipp Keller * Ralph Giles ("rillian") * Raph Levien * reddraggone9 * Steven Murawski * Stuart Hinson * Tyler Harper * Vesa Kaihlavirta * Vlad Bezden * William Roe * 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

View Details

A Command-Line Argument Parser.

Links * crates.io * docs.rs * GitHub * videos * book * YAML: + example from clap - YAML - associated Rust implementation + example from lightning-rs: - YAML - associated Rust implementation

Sponsors Sponsors * Aleksey Pirogov * Andreas Fischer * Andrew Thompson * Austin LeSure * Ben Whitley * Charlie Egan * Chris Palmer * Christopher Giffard * Daniel Collin * Derek Morr * Jakub "Limeth" Hlusička * Jordan Henderson * Jupp Müller * Keith Gray * Lachlan Collins * Luca Schmid * Matt Rudder * Matthew Piziak * Max Jacobson * Micael Bergeron * Ovidiu Curcan * Pascal Hertleif * Peter Tillemans * Philipp Keller * Ralph Giles ("rillian") * Raph Levien * reddraggone9 * Steven Murawski * Stuart Hinson * Tyler Harper * Vesa Kaihlavirta * Vlad Bezden * William Roe * 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

View Details

Three traits which are essential for designing good, Rustic APIs.

Notes Borrow, AsRef, and Deref are a little complicated, but they're well-worth understanding. Together, they give you tools for dealing with everything from HashMap and friends to conversions involving smart pointer types to easily using String and str or Vec and slice together.

Links * AsRef, Borrow, and Deref: + Borrow and AsRef in The Rust Programming Language + collections::borrow::Borrow + std::convert::AsRef + std::ops::Deref * persistent data structures * "Rust and Rest" – Arnin Roacher * sentry-cli * Particularly relevant previous episodes: + e008: Just like something else + e009: Composing a Rustic tune + e017: Point me where I need to go + interview::2: Raph Levien

Sponsors * Aleksey Pirogov * Andreas Fischer * Andrew Thompson * Ben Whitley * Cameron Mochrie * Chris Palmer * Christopher Giffard * Daniel Collin * Derek Morr * Jakub "Limeth" Hlusička * Jordan Henderson * Jupp Müller * Keith Gray * Lachlan Collins * Luca Schmid * Matt Rudder * Matthew Piziak * Micael Bergeron * Ovidiu Curcan * Pascal Hertleif * Peter Tillemans * Philipp Keller * Ralph Giles ("rillian") * Raph Levien * reddraggone9 * Ryan Ollos * Steven Murawski * Vesa Kaihlavirta * Vlad Bezden * William Roe * 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

View Details

A pull-parser for reading and writing XML.

Links * crates.io * docs.rs * GitHub * syntax highlighting – example from lightning-rs

Sponsors * Aleksey Pirogov * Andreas Fischer * Ben Whitley * Cameron Mochrie * Chris Palmer * Christopher Giffard * Daniel Collin * Derek Morr * Jakub “Limeth” Hlusička * Jupp Müller * Keith Gray * Lachlan Collins * Luca Schmid * Matt Rudder * Matthew Piziak * Micael Bergeron * Ovidiu Curcan * Pascal Hertleif * Peter Tillemans * Philipp Keller * Ralph Giles (“rillian”) * Raph Levien * reddraggone9 * Ryan Ollos * Steven Murawski * Vesa Kaihlavirta * Vlad Bezden * William Roe * 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

View Details

Rust’s achievements in 2016 and goals for 2017

Links * Rust releases: + 1.10: blog post | release notes + 1.11: blog post | release notes + 1.12: blog post | release notes + 1.12.1: blog post + 1.13: blog post | release notes + 1.14: blog post | release notes * Rust 2017 roadmap + RFC text + RFC discussion * Other official Rust blog posts: + Shape of errors to come + Incremental compilation - Milestone: beta - Milestone: across crates - Milestone: in typechecking * Cargo workspaces: + Original RFC and discussion + Documentation * Rust Language Service: + Announcement post on internals.rust-lang.org + Demo * Non-core projects mentioned on the show: + Futures + Tokio + Rocket * My projects + Lightning + RFC #1636: - text - discussion - tracking issue (where you can contribute!)

Sponsors * Aleksey Pirogov * Andreas Fischer * Ben Whitley * Cameron Mochrie * Chris Palmer * Daniel Collin * Derek Morr * Jakub “Limeth” Hlusička * Jupp Müller * Keith Gray * Lachlan Collins * Luca Schmid * Matt Rudder * Matthew Piziak * Micael Bergeron * Ovidiu Curcan * Pascal Hertleif * Peter Tillemans * Philipp Keller * Ralph Giles (“rillian”) * Raph Levien * reddraggone9 * Ryan Ollos * Steven Murawski * Vesa Kaihlavirta * Vlad Bezden * William Roe * 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

View Details

Avoiding burnout by taking it a little easier.

Sometimes, the way a podcast stays in existence is by coming out less often. That’s what’s happening here.

Links * lightning-rs * Pelican * Hugo * Jekyll * Static Site Generators: The definitive listing of Static Site Generators — all 445 of them!

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

Follow * New Rustacean: + Twitter: @newrustacean + App.net: @newrustacean + Email: hello@newrustacean.com * Chris Krycho + Twitter: @chriskrycho

View Details

Carol (Nichols || Goulding) on learning Rust, teaching Rust, and building community

NotesChris talks with Carol (Nichols || Goulding), a Rust community team member, co-author of the first major revision of The Rust Programming Language, and co-founder of the first Rust consultancy.

Links * XSLT (XML Style Sheet Transformations) * Rspec * Rails * Think Through Math — remedial math tutoring app built with Rails * Rust for Rubyists * The Rust Programming Language * Julia Evans + RustConf 2016 keynote * Rust by Example * Rustlings * SASS + language + Carol’s in-progress implementation * #rust-community — open meetings at 4pm UTC every Wednesday, with minutes available online * first Rust community survey * Rust community on GitHub * new version of the book on GitHub — you can help, and especially if you’re new, because Steve and Carol both need input to deal with the “familiarity”/“curse of knowledge” problem + ownership and borrowing chapters * RustConf * RustFest * Rust Belt Rust — October 27–28, 2016. Don’t forget to use code newrustacean to get 20% off of your registration cost! * Integer32 + Panoptics – nickel-jwt: crate | docs | source * Jake (Nichols || Goulding) on Stack Overflow * Friends of the Tree * Friends of the Forest * Working Effectively With Legacy Code * Tilde * The C Programming Language – the book Carol compared The Rust Programming Language to in terms of its responsibilities, and also one of the books from which Chris learned C.

Sponsors * Aleksey Pirogov * Cameron Mochrie * Chris Palmer * Daniel Collin * Derek Morr * Doug Reeves * Hamza Sheikh * Jakub “Limeth” Hlusička * Jupp Müller * Keith Gray * Lachlan Collins * Leif Arne Storset * Luca Schmid * Matthew Piziak * Micael Bergeron * Nils Tekampe * Ovidiu Curcan * Pascal Hertleif * Ralph Giles (“rillian”) * Ralph “FriarTech” Loizzo * Raph Levien * reddraggone9 * Ryan Ollos * Sean Jensen-Gray * Steven Murawski * Vesa Kaihlavirta * William Roe

(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

View Details

Katas—or: learning by doing

Notes One of the best ways to learn is to pick a small problem you have already internalized, and to do it again but in a new language or in a new way in a language you already know.

Links * AreWeGameYet * AreWeIDEYet * AreWeWebYet * Setting our vision for the 2017 cycle * Incremental Compilation * cargo-incremental: + internals post + repo * Elm * Dave Thomas’ CodeKata * Crates I used in my Rust “kata”: + Hyper - docs - crate - repo + Serde - docs - crate - repo + Pencil (inspired by Flask) - docs - crate - repo + handlebars-rust: - docs - crate - repo

Sponsors * Aleksey Pirogov * Cameron Mochrie * Chris Palmer * Daniel Collin * Derek Morr * Doug Reeves * Hamza Sheikh * Jakub “Limeth” Hlusička * Jupp Müller * Keith Gray * Lachlan Collins * Leif Arne Storset * Luca Schmid * Matthew Piziak * Micael Bergeron * Ovidiu Curcan * Pascal Hertleif * Ralph Giles (“rillian”) * Ralph “FriarTech” Loizzo * Raph Levien * reddraggone9 * Ryan Ollos * Steven Murawski * Vesa Kaihlavirta * William Roe

(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

View Details

Building (and celebrating) all the little, not-so-glorious pieces of the Rust ecosystem.

Notes We love the Rust compiler team. But there’s more to the Rust community, and more required for Rust to be as great as it can be, than just the language itself. We need to celebrate other libraries, and even the small ones, just as much (and maybe more) than changes to the language. We need to dig in and work on building the whole ecosystem. (The good news is, we are!)

Links * futures-rs + “Zero-cost futures in Rust” * Tokio + “Announcing Tokio” (Carl Lerche on Medium) * “What’s new with ‘The Rust Programming Language’?” * Friends of Rust * ring – Safe, fast, small crypto using Rust * alexa-rs – Rust library for building Alexa skills * gilrs – Game Input Library for Rust

Sponsors * Aleksey Pirogov * Cameron Mochrie * Cass Costello * Chris Palmer * Daniel Collin * Derek Morr * Doug Reeves * Eric Fulmer * Hamza Sheikh * Jakub “Limeth” Hlusička * Jared Smith * Keith Gray * Lachlan Collins * Leif Arne Storset * Luca Schmid * Micael Bergeron * Pascal Hertleif * Ralph Giles (“rillian”) * Ralph “FriarTech” Loizzo * Raph Levien * reddraggone9 * Ryan Ollos * Steven Murawski * Vesa Kaihlavirta * William Roe

(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

View Details

A deep dive on references and pointers in Rust.

Notes By listener request, today we look at the syntax and semantics of referencing and dereferencing and the corresponding & and * operators.

As was the case with e016, the code samples have little to say in their documentation; reading the code will be necessary for seeing the ideas.

Links * “Inside the Fastest Font Renderer in the World” * The Rust Platform: + original blog post - Rust internals discussion - Reddit discussion - Hacker News discussion + follow-up - Reddit discussion * Cargo vendoring support in nightly * MIR on by default in nightly * References and dereferencing: + The Rust Programming Language: - References and Borrowing - Deref coercions + Rust by Example: Flow Control: pointers/ref + The Rust Reference: - Unary Operator Expressions - Pointer Types

Sponsors * Aleksey Pirogov * Cameron Mochrie * Cass Costello * Chris Palmer * Daniel Collin * Derek Morr * Doug Reeves * Eric Fulmer * Hamza Sheikh * Jakub “Limeth” Hlusička * Jared Smith * Keith Gray * Lachlan Collins * Leif Arne Storset * Luca Schmid * Micael Bergeron * Pascal Hertleif * Ralph Giles (“rillian”) * Ralph “FriarTech” Loizzo * Raph Levien * reddraggone9 * Ryan Ollos * Steven Murawski * Vesa Kaihlavirta * William Roe

(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

View Details

Digging deeper on smart pointers and mutability with Cell and RefCell.

Notes What are the Cell and RefCell types, and when should we use them?

Today, we follow up both the detailed discussion of smart pointers in e015 and the closely related discussion in Interview 2 with Raph Levien, and look at two types you need to have a good idea how to deal with if you want to use these smart pointer types more ergonomically—that is, how to use them without feeling like you’re beating your head against a wall!

Links * Rust 1.10 + blog post + full release notes + cdylib - RFC: text | discussion - implementation * rustup 0.3.0 release * Integer32 (Carol Nichols’ and Jake Goulding’s new Rust consultancy) + announcement blog post + reddit discussion * IntelliJ Rust + reddit discussion * Tango: source | talk * Cell and RefCell: + Cell Types in The Rust Programming Language + Standard library: - std::cell module docs (detailed explanation, complementary to the book) - Cell<T> docs (at std::cell::Cell) - RefCell<T> docs (at stc::cell::RefCell)

Sponsors * Aleksey Pirogov * Chris Palmer * Daniel Collin * Derek Morr * Doug Reeves * Eric Fulmer * Hamza Sheikh * Jakub “Limeth” Hlusička * Keith Gray * Lachlan Collins * Leif Arne Storset * Luca Schmid * Micael Bergeron * Michael Clayton * Pascal Hertleif * Ralph Giles (“rillian”) * Ralph “FriarTech” Loizzo * Raph Levien * reddraggone9 * Ryan Ollos * Vesa Kaihlavirta * William Roe

(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

View Details

Raph Levien on Rust’s current strengths and places it can improve

Notes Chris chats with Raph Levien about what inspired him to build a text editor, as well as about where the rough edges in the Rust development story are today, and how we might improve them going forward.

Links * Rust/Ruby bridge: Helix + blog post + GitHub * Rust Bridge project * Ropes + original paper + Rust implementation + C++ implementation * Yehuda Katz on Code Newbie + Creating Ember JS - Part I + Creating Ember JS - Part II * Rust and Swift (xi): Hopes for the next generation of systems programming.

Sponsors * Aleksey Pirogov * Chris Palmer * Daniel Collin * Derek Morr * Doug Reeves * Hamza Sheikh * Keith Gray * Lachlan Collins * Leif Arne Storset * Luca Schmid * Micael Bergeron * Pascal Hertleif * Ralph Giles (“rillian”) * Ralph “FriarTech” Loizzo * Raph Levien * reddraggone9 * Ryan Ollos * Vesa Kaihlavirta * William Roe

(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

View Details

Raph Levien on using Rust to build the Xi editor

Notes Chris chats with Raph Levien about his background in software development, what attracted him to Rust, and how he’s using Rust to build the Xi Editor, a project which aims to be the fastest text editor out there, with native user interfaces and a Rust text engine.

Links * Past work: + GIMP + GTK + GhostScript + Google Web Fonts * Current projects: + font-rs + pulldown-cmark + Xi Editor * fuzz testing * sanitizers * FreeType * HarfBuzz * ICU * Ropes + Wikipedia summary + original paper * “log n operation”, or O(log n) + Big O notation * Rust: + [Arc] + [RefCell] + [Borrow] + [AsRef] * Rust libraries + [Crossbeam] + [Rayon] * Unix philosophy

The Unix philosophy emphasizes building simple, short, clear, modular, and extensible code that can be easily maintained and repurposed by developers other than its creators. The Unix philosophy favors composability as opposed to monolithic design.

Sponsors * Aleksey Pirogov * Chris Palmer * Daniel Collin * Derek Morr * Doug Reeves * Hamza Sheikh * Lachlan Collins * Leif Arne Storset * Luca Schmid * Micael Bergeron * Pascal Hertleif * Ralph Giles (“rillian”) * Ralph “FriarTech” Loizzo * Raph Levien * reddraggone9 * Ryan Ollos * Vesa Kaihlavirta * William Roe

(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

View Details

Box, String, Vec, Rc, and Arc have this in common: they’re not dumb.

This episode, we take a close look at smart pointer types—from a few we’ve already talked about, like Box, Vec, and String, to some new ones, like Rc and Arc.

  • What smart pointers are, and what makes them ‘smart’.
  • Why we want or need smart pointers.
  • A bit about Box.
  • A lot more about Rc and Arc.

Links * RustConf * Rust Belt Rust Conference + sessions * Rusty Radio + feed * Rust Exercism track + All exercism language tracks

Sponsors * Aleksey Pirogov * Chris Palmer * Daniel Collin * Derek Morr * Doug Reeves * Hamza Sheikh * Lachlan Collins * Leif Arne Storset * Luca Schmid * Micael Bergeron * Pascal Hertleif * Ralph Giles (“rillian”) * Ralph “FriarTech” Loizzo * Raph Levien * reddraggone9 * Ryan Ollos * Vesa Kaihlavirta * William Roe

(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

View Details

A year in, Rust is changing fast but still stable.

Links * Rust 1.9 + blog post + release notes * LLVM + Projects built with LLVM + Wikipedia discussion * MIR + blog post + play.rust-lang.org – note the MIR button! + Two enhancements enabled by MIR: - Non-zeroing dynamic drop * RFC * pull request and discussion - Issue 811: “Non-lexical borrow scopes and better treatment of nested method calls” * Cargo blog post * rustup + blog post + install from rustup.rs

Sponsors * Aleksey Pirogov * Chris Palmer * Daniel Collin * Derek Morr * Hamza Sheikh * Lachlan Collins * Leif Arne Storset * Luca Schmid * Micael Bergeron * Pascal Hertleif * Ralph Giles (“rillian”) * Ralph “FriarTech” Loizzo * reddraggone9 * Ryan Ollos * Vesa Kaihlavirta * William Roe

(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

View Details

Some things matter more than contributing to open-source software in your free time. A lot more.

It’s trendy to ask for open-source work as evidence of your interest in tech and commitment to software development. Trendy and completely wrong. Companies should not demand open-source contributions from their employees, and beyond that, should learn to recognize that profit is not the most valuable thing in the world. People are.

Links * Xi editor * Rust survey * Expecting people to do open-source work + Python Testing 18: Testing in Startups and Hiring Software Engineers with Joe Stump + Tweet about it by Joe Stump

Sponsors * Aleksey Pirogov * Chris Palmer * Daniel Collin * Derek Morr * Hamza Sheikh * Lachlan Collins * Leif Arne Storset * Luca Schmid * Micael Bergeron * Pascal Hertleif * Ralph Giles (“rillian”) * Ralph “FriarTech” Loizzo * reddraggone9 * Ryan Ollos * Vesa Kaihlavirta * William Roe

(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

View Details

Strings &strs and Vecs and slices (and Unicode) – oh, my!

Notes This episode, I take a deep dive on strings in Rust, looking at the differences between String and &str, discussing Unicode a bit, and then expanding the discussion to think about how these types relate to the types they’re built on (like Vec).

Links * Strings: + The Rust Book + Rust by Example + str docs: - module - primitive type + String - module - type definition * Dereferencing + coercions + std::ops::Deref

Sponsors * Aleksey Pirogov * Chris Palmer * Derek Morr * Hamza Sheikh * Lachlan Collins * Leif Arne Storset * Luca Schmid * Micael Bergeron * Pascal Hertleif * Ralph Giles (“rillian”) * Ralph “FriarTech” Loizzo * reddraggone9 * Ryan Ollos * Vesa Kaihlavirta * William Roe

(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

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

View Details

Just how good Rust is, and how you can learn it even if you’re busy.

Notes Sometimes life goes crazy and I don’t have time to do all the technical writing required for a full episode, but I can’t get Rust off my mind, so I record an episode like this one. Where I talk a bit about how versatile Rust is and suggest some surprising ways you might be able to use it.

Links * Rust 1.8 blog post * Fake build tool in F♯ * HackerNews on Rust 1.8 + Someone using it for personal projects + Using it in place of scripting languages * “Feels like Python, runs like C”

Sponsors * Aleksey Pirogov * Chris Palmer * Derek Morr * Hamza Sheikh * Lachlan Collins * Leif Arne Storset * Luca Schmid * Micael Bergeron * Pascal Hertleif * Ralph Giles (“rillian”) * Ralph “FriarTech” Loizzo * reddraggone9 * Ryan Ollos * Vesa Kaihlavirta * William Roe

(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

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

View Details

Reasoning about and using lifetimes in Rust (and why we need them)

Notes Lifetimes are our way of reasoning about how long a given piece of data is

available and safe to use in Rust. The reason we don't have the dangling

pointer problem is that we do have lifetimes instead. They're not magic,

they're just a bit of semantics and syntax that let us specify the rules for

how long any given item lives, and how long references to data must be valid.

Links * Diesel + Tutorial + API docs * Mio, an I/O library + Getting Started + API Docs

Sponsors * Aleksey Pirogov * Chris Palmer * Derek Morr * Hamza Sheikh * Lachlan Collins * Leif Arne Storset * Luca Schmid * Micael Bergeron * Pascal Hertleif * Ralph Giles ("rillian") * Ralph "FriarTech" Loizzo * reddraggone9 * Ryan Ollos * Vesa Kaihlavirta * William Roe

(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

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

View Details

What it means to be an expression-oriented language, and how that works out in Rust.

Notes Rust is an expression-oriented language. What does that mean, and how does it play out in Rust? We look at if and match blocks, discuss looping constructs, and examine functions, and then widen out to discuss how having an expression-oriented language can change the way we think about programming.

Links * Redox * Servo alpha announcement * WebRender * Wired article on Dropbox * Rust documentation on expression-oriented-ness: + Rust Book + Rust by Example + Rust Reference * Removing Rust ternary * Digits of pi necessary for astronavigation

Sponsors * Aleksey Pirogov * Chris Palmer * Derek Morr * Hamza Sheikh * Lachlan Collins * Leif Arne Storset * Luca Schmid * Micael Bergeron * Pascal * Ralph Giles (“rillian”) * Ralph “FriarTech” Loizzo * reddraggone9 * Ryan Ollos * William Roe

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

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

View Details

Type systems: strong vs. weak, dynamic vs. static, and degrees of expressivity.

Notes Talking about type systems! A broad and wide-ranging discussion about type systems in general, with specific examples from languages like PHP, JavaScript, Python, C, C++, Java, C♯, Haskell, and Rust!

  • What is a type system?
  • What are the kinds of things we get out of type systems?
  • What are the tradeoffs with different type systems?
  • What is Rust’s type system like?
  • What is especially attractive about Rust’s type system?

A comment on the C integer/character string addition example: what’s actually happening there is that the character string is an array “under the covers,” and as such has an address. C silently switches to using the memory address, which is of course just an integer, when you try to add the two together. As I said on the show: the result is nonsense (unless you’re using this as a way of operating on memory addresses), but it’s compileable nonsense. In a stricter and stronger type system, memory addresses and normal numbers shouldn’t be addable!

Links * Rust 1.7 released + HashMap changes * Introduction to Type Theory * Visualizing Rust’s type-system * The Many Kinds of Code Reuse in Rust

Sponsors * Aleksey Pirogov * Chris Palmer * Derek Morr * Hamza Sheikh * Lachlan Collins * Leif Arne Storset * Luca Schmid * Micael Bergeron * Pascal * Ralph Giles (“rillian”) * Ralph “FriarTech” Loizzo * reddraggone9 * Ryan Ollos * William Roe

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

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

View Details

Sean Griffin on type systems and hopes for Rust's future

Notes Chris chats with Sean Griffin about the tradeoffs between mental overhead and type safety, the expressiveness of different type systems, and some of the places where Rust currently falls down.

Corrigenda Sean noted he could be wrong about IEnumerable<T> not having a Sum method in C♯, and post-show research indicated that he was (it's possible it was added after he had stopped doing .NET work, of course). See the documentation for details on how IEnumerable<T>.Sum it behaves in C♯ if you're curious.

As a related note, I (Chris) have done a little bit of digging on C♯ in the interval and it's fair to say that while a lot of the "ceremony" involved in writing C♯ is annoying, it's much more than just a "slightly nicer Java", and indeed is a much nicer language than my previous, limited exposure had led me to believe. It's no Rust or F♯, but its type system is substantially more capable than Java's.

Links * fmap + Discussion of fmap with Optional in Swift + In Haskell * Rust: + Trait objects + Specialization RFC - Implementation * Diesel

Sponsors * Aleksey Pirogov * Chris Palmer * Derek Morr * Hamza Sheikh * Leif Arne Storset * Luca Schmid * Micael Bergeron * Ralph Giles ("rillian") * reddraggone9 * Ryan Ollos * William Roe

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

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

View Details

Sean Griffin on Rust, ORMs, and Web Frameworks

Notes Chris chats with Sean Griffin about his programming background and initial experience with Rust, Rust's appeal, and what he's doing with Diesel and some of his plans for a new web framework in Rust.

Links * Ruby on Rails * Active Record * Diesel + GitHub + Gitter * The Bike Shed episodes which include talk of Rust and Diesel + 51: Is Sim City Still Running (with Steve Klabnik) + 49: A More Practical Haskell + 48: Is Everyone Trying Their Best? + 46: Don't Breath, Save the Planet + 44: It Won't Crash... It Might Crash + 39: Okay With Instability + 32: Bug for Bug Compatibility + 31: Oxidizing an ORM + 27: I've Got 29.97 Problems (and codecs are some) + 23: Why Did They Call It Rust? * Maybe Haskell

Sponsors * Aleksey Pirogov * Chris Palmer * Derek Morr * Hamza Sheikh * Leif Arne Storset * Luca Schmid * Micael Bergeron * Ralph Giles ("rillian") * reddraggone9 * Ryan Ollos * William Roe

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

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

View Details

Community is one of the most important parts of a programming language community, or indeed any technical community. In this episode, I talk a bit about what happens when you don't have a good community, how Rust's community has done well so far, and then how to keep building a good community and how to build good things as a community.

Sponsors * Aleksey Pirogov * Chris Palmer * Derek Morr * Hamza Sheikh * Luca Schmid * Micael Bergeron * Ralph Giles (“rillian”) * reddraggone9 * William Roe

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

Follow * New Rustacean: + Twitter: @newrustacean + App.net: @newrustacean + Email: hello@newrustacean.com * Chris Krycho + Twitter: @chriskrycho + App.net: @chriskrycho

View Details

Macros rule!

NotesBecause of the way macros are exported—before name resolution on crates occurs—the documentation for the macros defined in the source for this episode occurs in the Macros section of the show_notes crate documentation, rather than within the documentation for this module. (See the Rust Book discussion of documenting macros for details.) Even so, the source is still in this module; see the implementations for details.

Links * Rust book: Macros * Rust by Example: Macros * Rust reference: Macros * “Macro by Example” (original paper) * Nick Cameron: + Macros + Macros in Rust - Part 1: macro_rules! - Part 2: procedural macros - Part 3: hygiene - Part 4: scoping and import/export - Part 5: current problems and possible solutions - Part 6: more issues with macro_rules! + concat_idents and macros in ident positions + Macro plans, overview + Macro hygiene in all its guises and variations + Sets of scopes macro hygiene + Macro plans: syntax + Procedural macros, framework

Sponsors * Aleksey Pirogov * Chris Palmer * Derek Morr * Hamza Sheikh * Luca Schmid * Micael Bergeron * Ralph Giles (“rillian”) * reddraggone9 * William Roe

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

Follow * New Rustacean: + Twitter: @newrustacean + App.net: @newrustacean + Email: hello@newrustacean.com * Chris Krycho + Twitter: @chriskrycho + App.net: @chriskrycho

View Details

Notes Last time, we looked at generics and traits at a high level. This time, we dig deeper on traits, looking specifically at std::iter::Iterator as an example of a powerful trait that can be composed across types, and then at how we might compose multiple traits on a single type.

We also talk about the syntax for traits, the use of marker traits, some of the things you can’t presently do with traits, and even just a smidge about the future of traits in Rust. All that in less than 20 minutes!

You’ll find today’s source example fairly interesting, I think: it’s just one type, but it uses almost every concept discussed on the show today!

Links * Nick Cameron: “Thoughts on Rust in 2016” * “Upcoming breakage starting in Rust 1.7, from RFCs 1214 and 136” + RFC 1214: Clarify (and improve) rules for projections and well-formedness + RFC 136: Ban private items in public APIs * The Rust Book: + Traits + Trait objects (dynamic dispatch) * The Rust reference: + std::iter and std::iter::Iterator + Add + Drop + PartialEq and Eq + PartialOrd and Ord + Special traits + Trait objects * RFC: impl specialization + Aaron Turon: “Specialize to reuse”

Sponsors * Aleksey Pirogov * Chris Palmer * Derek Morr * Hamza Sheikh * Luca Schmid * Micael Bergeron * Ralph Giles (“rillian”) * reddraggone9 * William Roe

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

Follow * New Rustacean: + Twitter: @newrustacean + App.net: @newrustacean + Email: hello@newrustacean.com * Chris Krycho + Twitter: @chriskrycho + App.net: @chriskrycho

View Details

Notes In this episode we cover—at a very high level—two more fundamental concepts in Rust programming: generics and traits.

Generics gives us the abilitty to write types and functions which can be used with more than one type. Traits give us the ability to specify behavior which can be implemented for more than one type. The combination gives us powerful tools for higher-level programming constructs in Rust.

Comments on source code Now that we have a handle on how tests work, we’ll use them to validate the behavior of our code going forward. This is great: we can show that the tests do what we think.

To today’s point, though: we actually know even apart from whether the tests run successfully that these generic functions and the associated traits are behaving as we want. Failure with generics is a compile-time error, not a runtime error.

Links * Rust Book + Generics + Traits – includes a discussion of trait bounds and generic traits * Rust by Example + Generics + Traits + Generic traits + Traits bounds* * Generics and traits in use in Diesel

Sponsors * Chris Palmer * Derek Morr * Luca Schmid * Micael Bergeron * Ralph Giles (“rillian”) * reddraggone9 * William Roe

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

Follow * New Rustacean: + Twitter: @newrustacean + App.net: @newrustacean + Email: hello@newrustacean.com * Chris Krycho + Twitter: @chriskrycho + App.net: @chriskrycho

View Details

Notes All about testing in Rust! In order, we take a look at:

  • Why you need tests.
  • Unit tests in other (dynamically-typed) languages vs. in Rust.
  • How to write unit tests in Rust.
  • How and why to write integration tests in Rust.
  • How and why to use benchmarks in Rust.

The detailed code samples for this episode are heavy on showing; because of the nature of test functions, you will be best off just reading the source rather than leaning heavily on the descriptions generated by rustdoc. (The descriptions are still there, but they’re much less useful than they have been in previous episodes.) In particular, the test module here is excluded because of the use of the #[cfg(test)] attribute marker on it.

Because we are using the feature-gated benchmarking functionality, the show notes “library” can now only be compiled with the Rust nightly (as of 1.5, the version current as this episode is produced).

One thing that isn’t necessarily obvious from reading the test documentation in the Rust book and Rust reference: the extern crate test statement needs to be not in this module, but at the module (lib.rs) which defines the library/crate; in this case, show_notes/lib.rs.

Links * Rust Book: + Testing + Attributes + Benchmark tests * Rust reference: Attributes * Diesel (Rust ORM) + 31: Oxidizing an ORM + 32: Bug for Bug Compatibility

Sponsors * Chris Palmer * Derek Morr * Luca Schmid * Micael Bergeron * Ralph Giles (“rillian”) * reddraggone9 * William Roe

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

Follow * New Rustacean: + Twitter: @newrustacean + App.net: @newrustacean + Email: hello@newrustacean.com * Chris Krycho + Twitter: @chriskrycho + App.net: @chriskrycho

View Details

Legacy Code

Software developers spend a large part of our careers dealing with legacy code. But what is the best way to deal with legacy code? When should you rip out the old and rewrite it, and when should you opt for smaller clean-up jobs because, however ugly, what is already present works?

Sponsors * Chris Palmer * Derek Morr * Luca Schmid * Micael Bergeron * Ralph Giles (“rillian”) * reddraggone9 * William Roe

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

Follow * New Rustacean: + Twitter: @newrustacean + App.net: @newrustacean + Email: hello@newrustacean.com * Chris Krycho + Twitter: @chriskrycho + App.net: @chriskrycho

View Details

Polyglot Programming Promises and Perils

Sometimes, you’re doing a technical interview, and you just cannot figure out why your JavaScript function isn’t behaving like it should… and then, prompted by the interviewer, you realize that you’re not returning anything. Polyglot programming is beautiful, and wonderful, and sometimes it bites you when you aren’t looking.

Links * Scala * F♯ * Elixir

Sponsors * reddraggone9 * Chris Patti

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

Follow * New Rustacean: + Twitter: @newrustacean + App.net: @newrustacean + Email: hello@newrustacean.com * Chris Krycho + Twitter: @chriskrycho + App.net: @chriskrycho

View Details

Notes Today, we are talking about modules, packages, and APIs in Rust. Taking a bit of a breather after some pretty hard material the last few weeks.

For reference, the Rust book section on Crates and Modules will be very helpful.

Corrigenda I accidentally called this episode 5, instead of episode 6. Whoops.

Just before the 15:00 mark, while discussing libraries, I referred to “e006.md” when I meant to say “e006.rs”. Slips of the tongue inspired by the fact that Rust (delightfully) uses Markdown for its documentation.

Links * Roguelike in Rust * Yehuda Katz on Ruby FFI

Sponsors * reddraggone9 * Chris Patti

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

Follow * New Rustacean: + Twitter: @newrustacean + App.net: @newrustacean + Email: hello@newrustacean.com * Chris Krycho + Twitter: @chriskrycho + App.net: @chriskrycho

View Details

Allocate it where?

Subject: Returning functions from other functions, and thinking about the stack, the heap, and reference types.

  • MP3

Notes This episode, we look at returning functions from other functions, and as part of that discuss some basics about the stack and the heap—and why we need to care about them for returning functions.

The functions themselves are not especially interesting; they just show you the basic form you use to return functions from other functions, and how to then use them in another function. You’ll want to take a detailed look instead at the documentation for each (or just read the source!), because that’s where the meat of the discussion in this week’s code is.

Links * Rust 1.4 release announcement * “Clarify (and improve) rules for projections and well-formedness” * MSVC support tracking issue * Rust 1.4 full release notes * “What and where are the stack and the heap?”

Sponsors * reddraggone9 * Chris Patti

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

Follow * New Rustacean: + Twitter: @newrustacean + App.net: @newrustacean + Email: hello@newrustacean.com * Chris Krycho + Twitter: @chriskrycho + App.net: @chriskrycho

View Details

  • Date: October 29, 2015

Subject: Functions, methods, closures, and function as arguments!

Notes This week’s episode covers the basics of all sorts of functions: normal functions, methods, and closures.

Closures * An explanation (in Ruby) by Martin Fowler * Rust book * Rust by Example * “What is a closure?” (Progammers Stack Exchange) – the first answer is the best, but the second answer may be a helpful stepping stone for people just getting their heads around this and coming from OOP languages like C++ or Java (even though I disagree with the explanation in some ways). * “What is a closure?” (Stack Overflow) – careful, thorough answer using JavaScript as an example.

Links * Exercism (hat tip: Lechindanier on GitHub) * Rust Learning * Rust and Swift (viii)

Follow/Support * New Rustacean: + Twitter: @newrustacean + App.net: @newrustacean + Patreon + Dwolla + Email: hello@newrustacean.com * Chris Krycho + Twitter: @chriskrycho + App.net: @chriskrycho

View Details

No More Nulls

Subject: Enumerated (enum) types, pattern matching, and meaningful return types.

Notes Today’s episode discusses, in order:

  • Enumerated types, with an eye to the difference between structs and enums, and to the differences between enums in C and in Rust.
  • Pattern matching, with a focus on using them with enumerated types and some discussion about how they differ from switch blocks in C-like languages.
  • Using the Option and Result enumerated types with pattern matching to provide meaningful returns from functions safely.

Order There is a specific order to the examples below, and it is not the automatically-alphabetized order rendered by rustdoc. Instead, you should work through in the sequence they appear in the source:

  1. RelatedishThings
  2. demonstrate_basic_enumeration
  3. demonstrate_match
  4. get_an_option
  5. demonstrate_option
  6. get_a_result
  7. demonstrate_result

Links * New Rustacean Pull Request #1 * Work on IDE support! + Landing page + My chosen tool: JetBrains/IntelliJ * Rustlings * Rust FFI Omnibus

Follow/Support * New Rustacean: + Twitter: @newrustacean + App.net: @newrustacean + Patreon + Email: hello at newrustacean dot com * Chris Krycho + Twitter: @chriskrycho + App.net: @chriskrycho

View Details

Something borrowed, something… moved?

Subject: The struct data type constructor, and the basics of Rust’s “ownership” concept and “borrowing” and “moving”.

Follow/Support * New Rustacean: + Twitter: @newrustacean + App.net: @newrustacean + Patreon + Email: hello@newrustacean.com * Chris Krycho + Twitter: @chriskrycho + App.net: @chriskrycho

Notes Today’s episode discusses, and the associated source code demonstrates, a few basic behaviors of structs… including borrowing!

After taking a short look at one of Rust’s basic approaches to creating new types, we dive into a fairly thorough overview of how borrowing works in fairly run-of-the-mill Rust code. This is a basic introduction, and as such I’m not getting into things like heap-allocated memory (Box) or dealing with move semantics with threads or closures. (I haven’t actually figured those out well enough yet to write something like this for them!)

As usual, you’ll want to have the src open to see what I’m doing with the components documented below.

Links * rustfmt – a tool for formatting Rust code + repo + “rustfmt-ing Rust` + Reddit discussion * RFC for incremental compilation + Text of the RFC + GitHub pull request

View Details

Document all the things! Subject: Documentation in general, and rustdoc and cargo doc in particular.

Follow/Support * New Rustacean: + Twitter: @newrustacean + App.net: @newrustacean + Patreon + Email: hello@newrustacean.com * Chris Krycho + Twitter: @chriskrycho + App.net: @chriskrycho

Notes This is a mostly-empty module, and it is intended as such. Why? Well, because almost all the sample code exists in these comments, which serve as the show notes. If you listen to the episode or take a look at the source files, you’ll see how it works!

The components below are included solely so you can see how the docstrings work with each kind of thing. Make sure to click on the names of the items: there is more documentation there. Again, take a look at the source to see how it looks in the context of a file module.

Note that this module-level docstring uses rather than///-style comments. This is because this docstring is documenting the item which contains it, rather than the following item. Per [Rust RFC 505][1], the preferred approach is always to use the "following" form (///) rather than the "containing" form (), except for module-level docs like these. (I will be following RFC 505 throughout.)

Links * Rust and MSVC tracking issue * Other documentation tools: + Predecessors: - Python’s Sphinx tool - Doxygen - JSDoc - JavaDoc + Other new languages with Markdown tooling - Julia has a built-in documentation system - Elixir has ex_doc * Rust 1.3 release announcement * Rust’s package hosting: crates.io + Crater for testing for backwards compatibility * Semantic versioning + “Stability as a Deliverable”: Rust official blog post on version stability, backwards compatibility, and release channels. * The Rust book chapter on rustdoc

View Details

Hello, World! Subject: The host, the language, and the show!

Today’s show is pretty meta. You can skip it if you just want to start with something more technical, but I thought listeners might want to know a little about the origins of the show and my own background, so that’s what you get today. Next time, we’ll be tackling the rustdoc command in some detail.


This is an almost-empty module: we aren’t doing any fun code samples yet. I included the standard “Hello, world!” example, because how could I not? However, at some point in the future, there will be much more detailed code samples available:

  • in the GitHub repository for the show
  • in the show notes attached to each episode

Hopefully, the result will be a pretty helpful bunch of side content along with the audio of the podcast itself.