On Monday, 12 March 2012 at 05:44:10 UTC, Martin Nowak wrote:
I did recently tried it out because I wanted to test some async
Fiber kqueue stuff.
It did fail to compile though because of conflicting selective
imports.
You probably want to avoid those until the remaining issues are
sorted out.
Ouch, no idea how that happened – before the 2.058 release, I
tested it regularly against the old import implementation, my own
fix for bug 314, the then-trunk including Christian's 314 fixes,
and I even tested most revisions during the »let's back this out
shortly before the release« fiasko, but I must have somehow
missed the actual release when doing so.
In any case, I pushed a fix to the Thrift JIRA and the GitHub
repo [1], but was only able to test on OS X, so let me know if it
still breaks for you.
- Compile-time Thrift IDL parsing:
I probably forgot to lex floating point literals.
https://gist.github.com/2019921#gistcomment-90654
Nice! I hope I'll miraculously find myself with a free afternoon
during the next week or so, can't wait to play around with it.
Also, I'm thinking about rewriting the codegen completely in CTFE
(i.e. producing a big string to be mixed in instead of using
templates with string mixins only where required), because this
would allow running the generator separately (and caching the
output in a regular .d file) for faster build times…
- A HashSet implementation in Phobos it could generate code
against; currently, a void[0]-AA-based hack is used. I've been
meaning to look into adding something to std.container for
ages now, but with me being swamped in work and the container
design being »in flux« (e.g. allocators)…
Yup, at some point we should stick a not yet ready allocator
design
into std.experimental before it inhibits even more development.
Andrei? ;)
The void[0][Key] is a good trick, I always used empty structs.
I expose a (minimalistic) thrift.util.HashSet wrapper, though, to
avoid too much confusion on the user side (and besides, an empty
struct is probably cleaner anyway).
David
[1] https://github.com/klickverbot/thrift