smallcultfollowing.com
I’ve been thinking about the unsafe code guidelines a lot in the back of my mind. In particular, I’ve been trying to think through what it means to “trust types” – if you recall from the Tootsie Pop Model (TPM) blog post, one of the key exa...
News & Blog Posts
2016-09-13
~15 min read
smallcultfollowing.com
The unsafe keyword is a crucial part of Rust’s design. For those not familiar with it, the unsafe keyword is basically a way to bypass Rust’s type checker; it essentially allows you to write something more like C code, but using Rust syntax...
News & Blog Posts
2016-05-30
~15 min read
smallcultfollowing.com
In my previous post, I spent some time talking about the idea of unsafe abstractions. At the end of the post, I mentioned that Rust does not really have any kind of official guidelines for what kind of code is legal in an unsafe block and w...
News & Blog Posts
2016-05-30
~23 min read
smallcultfollowing.com
This is the third post in my series on non-lexical lifetimes. Here I want to dive into Problem Case #3 from the introduction. This is an interesting case because exploring it is what led me to move away from the continuous lifetimes propose...
News & Blog Posts
2016-05-16
~16 min read
smallcultfollowing.com
Over the last few weeks, I’ve been devoting my free time to fleshing out the theory behind non-lexical lifetimes (NLL). I think I’ve arrived at a pretty good point and I plan to write various posts talking about it. Before getting into the...
News & Blog Posts
2016-05-09
~9 min read
smallcultfollowing.com
In my previous post I outlined several cases that we would like to improve with Rust’s current borrow checker. This post discusses one possible scheme for solving those. The heart of the post is two key ideas:Define a lifetime as a set of p...
News & Blog Posts
2016-05-09
~11 min read
smallcultfollowing.com
For the last couple of weeks, my mornings have been occupied with a pretty serious revamping of LALRPOP’s error message output. I will probably wind up doing a series of blog posts about the internal details of how it works, but I wanted to...
News & Blog Posts
2016-03-07
~12 min read
smallcultfollowing.com
This post is the second post in my series on Rayon’s parallel iterators. The goal of this series is to explain how parallel iterators are implemented internally, so I’m going to be going over a lot of details and giving a lot of little code...
News & Blog Posts
2016-02-29
~23 min read
smallcultfollowing.com
Since giving a talk about Rayon at the Bay Area Rust meetup, I’ve been working off and on on the support for parallel iterators. The basic idea of a parallel iterator is that I should be able to take an existing iterator chain, which operat...
News & Blog Posts
2016-02-22
~12 min read
smallcultfollowing.com
Over the last week or so, I’ve been working on an update to Rayon, my experimental library for data parallelism in Rust. I’m pretty happy with the way it’s been going, so I wanted to write a blog post to explain what I’ve got so far.Rayon’s...
News & Blog Posts
2015-12-21
~18 min read
smallcultfollowing.com
So, aturon wrote this interesting post on an alternative “virtual structs” approach, and, more-or-less since he wrote it, I’ve been wanting to write up my thoughts. I finally got them down.Before I go any further, a note on terminology. I w...
News & Blog Posts
2015-10-12
~15 min read
smallcultfollowing.com
Around four years ago, when I had first decided to start at Mozilla research, I had planned to write an LR(1) parser generator. It seemed like a good way to get to know Rust. However, I found that newborns actually occupy somewhat more time...
Notable New Crates
2015-09-21
~5 min read
smallcultfollowing.com
This is the second post summarizing my current thoughts about ideas related to “virtual structs”. In the last post, I described how, when coding C++, I find myself missing Rust’s enum type. In this post, I want to turn it around. I’m going...
Notable Links
2015-06-07
~11 min read
smallcultfollowing.com
One priority for Rust after 1.0 is going to be incorporating some kind of support for “efficient inheritance” or “virtual structs”. In order to motivate and explain this design, I am writing a series of blog posts examining how Rust’s curre...
Notable Links
2015-05-18
~5 min read
smallcultfollowing.com
What’s a 1.0 release without a little drama? Recently, we discovered that there was an oversight in one of the standard library APIs that we had intended to stabilize. In particular, we recently added an API for scoped threads – that is, ch...
Notable Links
2015-05-04
~24 min read
smallcultfollowing.com
So there has been a lot of really interesting discussion in response to my blog post. I wanted to highlight some of the comments I’ve seen, because I think they raise good points that I failed to address in the blog post itself. My comments...
Notable Links
2015-05-04
~3 min read
smallcultfollowing.com
After reading nrc’s blog post about graphs, I felt inspired to write up an alternative way to code graphs in Rust, based on vectors and indicates. This encoding has certain advantages over using Rc and RefCell; in particular, I think it’s a...
Notable Links
2015-04-06
~5 min read
smallcultfollowing.com
We’ve recently been doing a lot of work on Rust’s orphan rules, which are an important part of our system for guaranteeing trait coherence. The idea of trait coherence is that, given a trait and some set of types for its type parameters, th...
Blog Posts
2015-01-19
~19 min read
smallcultfollowing.com
The so-called “unboxed closure” implementation in Rust has reached the point where it is time to start using it in the standard library. As a starting point, I have a pull request that removes proc from the language. I started on this becau...
Blog Posts
2014-12-01
~13 min read
smallcultfollowing.com
There has been a lot of discussion lately about Rust’s allocator story, and in particular our relationship to jemalloc. I’ve been trying to catch up, and I wanted to try and summarize my understanding and explain for others what is going on...
From the Team
2014-11-17
~12 min read