New week, new Rust. What are you folks up to?
Updating Serde to work with @alexcrichton’s Macros 1.1 implementation (work in progress). This will allow using Serde codegen on stable Rust without a build script much sooner than the stabilization of full-blown procedural macros.
Not sure whether I’m allowed to paste this in reddit and here, please tell me if I’m not.
After that (not sure how long it takes) I will continue on #486 - The git hook layer which is another core requirement for v0.2.0. I want to release v0.2.0 of imag within this year (we already had 0.1.0 but then started a big rewrite of everything and 0.1.0 is absolutely incompatible to todays imag).
Also I want to get my filters crate out in 0.2.0, but I’m not sure whether I already have all the things I want to have in 0.2.0.
Found a way around needing to use macros to derive mapping types in
elastic_types, which means all you need to do is implement something like
BooleanMapping and all the serialisation and other traits are taken care of for you. I threw up a quick gist of the approach, which uses wrapper types to make sure blanket impls don’t collide and that we can blanket impl traits we don’t own. (Pinched the idea from serde.rs).
Once those changes are finished, I’ll start working on macros 1.1 too, since it’ll make life much easier for users on
Last week I created a macro to make asserting vectors easier. This was needed to create unit tests properly for my FSM logic. If there is interest then I’ll publish a crate with it.
Due to distractions (and stubbornness) I didn’t get much FSM work that I wanted to get done (mostly due to having to rewrite my RTMP messages API to be more ergonomic, and because of that macro that took me about a day to write). I got my core (failing) unit tests written for the FSM so this week I plan to flesh that out to be able to handle the basic publishing server-side workflow working from the RTMP spec.
I just started learning Rust, and this week I am developing a Rabin-fingerprint-based rolling hash, which I might publish on Github once stable enough.