What's everyone working on this week (23/2017)?


#1

New (belated) week, new Rust! What are you folks up to?


#2

The Libz Blitz review for walkdir is in its final week. There’s still room for more feedback on the evaluation etherpad! I’ll start gathering up all the feedback and preparing for the libs team review next week.

Spent some time thinking about cross platform builds in my tool for packing Rust libs as .NET packages. I’m not really sure what direction to take it in though.

Also playing with an async API for elastic and focussing on minimising memory usage over throughput.


#3

I’m working on safe-alloc, an alternative to liballoc that returns Results instead of aborting on OOM. Rather than directly exposing the heap APIs, there’s an Allocation type that owns the allocated memory:

use core::mem;
use safe_alloc::allocation::Allocation;

// Allocate one byte of memory with the same alignment as a  `u8`.
let mut foo = Allocation::new(1, mem::align_of::<u8>()).unwrap();
// Resize the allocation to two bytes.
foo.resize(2).unwrap();
// Clone `foo`.
let bar = foo.duplicate().unwrap();
// Destructure `foo` into a pointer, length and alignment.
let (ptr, len, align) = foo.into_raw();
// Reconstruct the allocation previously owned by `foo`.
let new_foo = unsafe { Allocation::from_raw(ptr, len, align) };

#4

I did some work in uom (type-safe zero-cost dimensional analysis) on floating point fractional and classification methods. This week will probably be light. Vacation!


#5

Working on a crate for object allocators. Currently supports the Slab Allocator and Magazine Allocator algorithms. The big push right now is to implement no_std and no OS support so that you could use it to build a system allocator or even a kernel allocator!

The code is still private while I get ready for a first release, but I’d be happy to add anyone to the GitHub repo who was curious to check it out.


#6

I’d continuing work on my fat-rs FAT32 driver library. I have single-cluster (<4kB) read-only access working, so now I’m going to get multiple-cluster access going. That’ll make the read-only version of this library complete. It already has automated testing on Linux, so feel free to check it out and submit feedback.

Also continuing to shrink the PR queue for nix. We just landed Tier 1 support for x86_64-freebsd so there should be no more breakage there. Still need to get proper cross support landed but there some upstream work to do for that, which I might try and tackle.