On Monday, 3 August 2015 at 09:21:50 UTC, Atila Neves wrote:

What's new?

* Performance improvements
* New UDAs for networking packets for even less required boilerplate

The first new thing is self-explanatory. The second one is explained briefly in this blog post:


(also on HN but you know how that goes)

The summary is you can now write this:

    struct UdpPacket {
        static struct Header {
            ushort srcPort;
            ushort dstPort;
            ushort length;
            ushort checksum;

        enum headerSize = unalignedSizeof!Header;
        alias header this;

        Header header;
        @LengthInBytes("length - headerSize") ubyte[] data;

Code? Who needs code when the compiler can write it for you?


1. Are there any convenience functions similar to msgpack's pack() and unpack() providing compactness and elegance as

    import msgpack;
    auto x  = [1,2];
    assert(x.pack.unpack!typeof(x) == x);

2. How does the Cereal performance compare to Msgpack after the recent optimizations?

Reply via email to