New Rustacean

Deep dive teaching episodes, news updates, and interviews with people around the Rust community.

https://newrustacean.com

subscribe
share






e030: Can You See Me Now?


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


fyyd: Podcast Search Engine
share








 April 27, 2019  18m