The ability to run with a small runtime system on bare metal, microcontrollers and such makes Rust, in my opinion, one of the most interesting new languages out there right now.<p>Native code with a lean and mean runtime system has a lot of advantages over bytecode based virtual machines and slow interpreters.
This is great -- I'm very pleased to see a challenger to C/++ step up in this space. And I'm starting to get really interested in Rust. It would be great to have a safer language to use in the place of C/++, particularly since the world seems to have decided to disregard Ada.<p>That said, it's important to note that this is not Rust on an AVR Arduino -- it's the Due, which sports an Arm Cortex M3. Targeting AVR which probably be much more difficult (at least that's what I've read). So you won't be able to get this running on your Uno.
Quite surprised. Exactly a year ago I was in hope that someone do something similar for Golang, but soon realized that it's impossible because Golang relies heavily on GC. Now this seems quite interesting.
I'm more excited to see that the project is based off one for the STM32F4. I've got one of those lying around and I'm looking forward to trying this out. :)
So far you're still stuck calling Wiring methods <digitalWrite, pinMode, etc...> from directly extern'd C. But a quick wrapper around the basic functions shouldn't be too hard and allows for a more rust-y (rust-ful?) experience.
Since this builds on zero.rs, there are some limitations.<p><a href="https://github.com/pcwalton/zero.rs" rel="nofollow">https://github.com/pcwalton/zero.rs</a><p><pre><code> Garbage collection, tasks, and failure will not work. All
the other language features, including unique pointers,
references, and closures do work, so programs such as
sprocketnes that do not use garbage collection should be
fine.
The Rust standard library cannot be used in this mode,
but splitting out the Rust standard library into a
portion that can be used in freestanding mode would be an
interesting and valuable project (IMO).</code></pre>