Rust Search

Find the best content on Rust, curated by the community; a search engine for Rustaceans.
e016: RefCells and code smells
18:52
New Rustacean newrustacean.com
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
Podcast 2016-07-23 18:52
www.newrustacean.com
? Settings Module show_notes::interview::_2::part_2source · Expand descriptionRaph Levien on Rust’s current strengths and places it can improve Date: July 4, 2016 Subject: Using Rust for prototyping and exploring computer science problems,...
News & Blog Posts 2016-07-05 ~1 min read
Interview 2::Part 2 – Raph Levien
19:33
New Rustacean newrustacean.com
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
Podcast 2016-07-04 19:33
www.newrustacean.com
Expand descriptionRaph Levien on using Rust to build the Xi editor Date: June 24, 2016 Subject: The Xi Editor project as a window into complex data structures, memory management, and the Unix philosophy. Audio 0.5⨉ 1⨉ 1.25⨉ 1.5⨉ 1.75⨉ 2⨉ §N...
News & Blog Posts 2016-06-27 ~1 min read
Interview 2::Part 1 – Raph Levien
28:17
New Rustacean newrustacean.com
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
Podcast 2016-06-25 28:17
www.newrustacean.com
Expand descriptionNot dumb pointers. Date: June 17, 2016 Subject: Box, String, Vec, Rc, and Arc have this in common: they’re not dumb. Audio 0.5⨉ 1⨉ 1.25⨉ 1.5⨉ 1.75⨉ 2⨉ §Notes This episode, we take a close look at smart pointer types—from a...
News & Blog Posts 2016-06-20 ~2 min read
e015: Not dumb pointers
20:03
New Rustacean newrustacean.com
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
Podcast 2016-06-18 20:03
www.newrustacean.com
Expand descriptionOne year and counting Date: May 31, 2016 Subject: A year in, Rust is changing fast but still stable. Audio 0.5⨉ 1⨉ 1.25⨉ 1.5⨉ 1.75⨉ 2⨉ §Links Rust 1.9 blog post release notes LLVM Projects built with LLVM Wikipedia discuss...
News & Blog Posts 2016-06-06 ~1 min read
News 1: One year and counting
26:16
New Rustacean newrustacean.com
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
Podcast 2016-05-31 26:16
Bonus 5: Better than open-source contributions
11:07
New Rustacean newrustacean.com
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
Podcast 2016-05-10 11:07
e014: Stringing things along
18:58
New Rustacean newrustacean.com
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
Podcast 2016-04-26 18:58
Bonus 4: We can have nice things
10:17
New Rustacean newrustacean.com
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
Podcast 2016-04-19 10:17
e013: Staying alive
17:40
New Rustacean newrustacean.com
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
Podcast 2016-04-04 17:40
e012: I'm not familiar with that expression
16:41
New Rustacean newrustacean.com
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
Podcast 2016-03-21 16:41
e011: Once Upon a Type
17:51
New Rustacean newrustacean.com
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
Podcast 2016-03-08 17:51
Interview 1::Part 2 – Sean Griffin
22:14
New Rustacean newrustacean.com
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
Podcast 2016-02-25 22:14
Interview 1::Part 1 – Sean Griffin
24:50
New Rustacean newrustacean.com
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
Podcast 2016-02-15 24:50
Bonus 3: Building as a community
12:03
New Rustacean newrustacean.com
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
Podcast 2016-02-01 12:03
e010: Macros rule!
16:32
New Rustacean newrustacean.com
Macros rule! Notes Because 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
Podcast 2016-01-18 16:32
www.newrustacean.com
Expand descriptionComposing a Rustic tune Date: 2016-01-09 Subject: Getting into the nitty-gritty with Rust’s traits. Audio 0.5⨉ 1⨉ 1.25⨉ 1.5⨉ 1.75⨉ 2⨉ §Notes Last time, we looked at generics and traits at a high level. This time, we dig de...
News & Blog Posts 2016-01-18 ~1 min read

Search tips

Type anything to search across articles, videos (including conference talks), podcasts, research, crates, and Rust API documentation. These operators give you finer control — click an example to try it.

Find pages containing all your words. Pages where the words appear together rank higher.
Quote part of your query to keep those words together as an exact phrase within a larger search.
Wrap the whole query in quotes for a verbatim search that matches text exactly, punctuation and all — perfect for Rust syntax. Needs at least 3 characters.
Limit results to a single site. Works on its own () too. One site: per search.

Use the tabs and filters above the results to narrow by content type, publication year, and sort order.