On Thursday, 23 June 2016 at 06:32:09 UTC, mogu wrote:
A couple of points:
* All of those 'static immutable' you have would be better as
manifest constants, or logically grouped in anonymous enums. The
former are lvalues and will wind up in the data segment, but you
likely don't need them to be.
* extern(C) functions should, at a minimum, be declared as @nogc
and nothrow for client code using those attributes.