ned Productions Consulting

Technology musings by Niall Douglas
ned Productions Consulting
(an expert advice and services company based in Ireland)

Monday 3rd February 2014 5.47am

Link shared:

After three days of work, finally nailed the last bug in my third major refactoring of Boost.AFIO's core dispatch engine (which has had its line count reduced by fifty lines, so the implementation is now quite considerably shorter and simpler than before), so now the baby is welcome to turn up whenever it likes! :) This last bug was a real corker only affecting the very most recent C++11 compilers only, not helped by me being completely unable to replicate it here at home on VS2013 which doesn't exhibit the problem (I had my poor netbook soak testing the unit test suite, repeatedly running it for hours and nary a crash nor failure in sight!). All I can say is thank god for my CI setup, because this is very definitely a bug only continuous integration testing would find - the only compilers exhibiting the problem were clang v3.2, v3.3 and v3.4, plus GCC 4.8 (for a while I thought I was seeing a bug in clang!).

The bug itself has a cause so non-obvious I had to ask a StackOverflow question about it which you can see at I am very much looking forward to an answer, because the C++ standard mandated behaviour here is insanely stupid, and it's a bug in the language standard in my opinion. Anyway, we'll see.