Featherweight Musings

I'm a research engineer at Mozilla working on the Rust compiler. I have history with Firefox layout and graphics, and programming language theory and type systems (mostly of the OO, Featherweight flavour, thus the title of the blog). http://www.ncameron.org @nick_r_cameron

Saturday, September 13, 2014

A gotcha with raw pointers and unsafe code

›
This bit me today. It's not actually a bug and it only happens in unsafe code, but it is non-obvious and something to be aware of. Ther...
1 comment:
Wednesday, July 23, 2014

LibHoare - pre- and postconditions in Rust

›
I wrote a small macro library for writing pre- and postconditions (design by contract style) in Rust. It is called LibHoare (named after th...
2 comments:
Thursday, July 17, 2014

Rust for C++ programmers - part 9: destructuring pt2 - match and borrowing

›
(Continuing from part 8, destructuring). (Note this was significantly edited as I was wildly wrong the first time around. Thanks to /u/dpx-...
3 comments:
Sunday, July 13, 2014

Rust for C++ programmers - part 8: destructuring

›
First an update on progress. You probably noticed this post took quite a while to come out. Fear not, I have not given up (yet). I have bee...
6 comments:
Friday, May 23, 2014

Rust for C++ programmers - part 7: data types

›
In this post I'll discuss Rust's data types. These are roughly equivalent to classes, structs, and enums in C++. One difference wit...
6 comments:
Sunday, May 18, 2014

Rust for C++ programmers - part 6: Rc, Gc, and * pointers

›
So far we've covered unique and borrowed pointers. Unique pointers are very similar to the new std::unique_ptr in C++ and borrowed refe...
2 comments:
Tuesday, May 06, 2014

Rust for C++ programmers - part 5: borrowed references

›
In the last post I introduced unique pointers. This time I will talk about another kind of pointer which is much more common in most Rust p...
11 comments:
Saturday, May 03, 2014

A thought on language design

›
Language designers often aim to make their languages simpler, more elegant, or smaller. If we are doing practical language design (as oppos...
10 comments:
Tuesday, April 29, 2014

Rust for C++ programmers - part 4: unique pointers

›
Rust is a systems language and therefore must give you raw access to memory. It does this (as in C++) via pointers. Pointers are one area w...
7 comments:
Wednesday, April 23, 2014

Rust for C++ programmers - part 3: primitive types and operators

›
Rust has pretty much the same arithmetic and logical operators as C++. `bool` is the same in both languages (as are the `true` and `false` ...
4 comments:
‹
›
Home
View web version
Powered by Blogger.