
Hi, thank you very much for testing and providing such good feedback! You are completely right in detecting and identifying the culprit...This is a new issue inherent to implementations that use on-empty handlers/targets instead of the if-empty-then checks. I've fixed my implementation which you can grab again from the sandbox (the vault still has the old one). The new implementation has only slightly more expensive (public) empty() and (private, rarely used) vtable::move calls but it should now work even in the across-shared- modules-boundaries use case you described. I ran regression tests with VC10 and now all of them pass cleanly, i.e. the assertions in Program Options are gone...and thanks to your feedback now I know what caused them...the tests used DLLs (causing exactly the behaviour you described) when run by the automated regression tests procedure and did not use them when run straight from the IDE...so once again thanks for very useful feedback ;-)
ps. I hope I did not break anything for other compilers...did not have the time now to run tests for them also...
Thanks for the fix! Everything seems to work now (VS2010, 64 bit, I have not tried any other compiler, though). Great news.
I have to correct myself. While it seems to run fine in release mode, I'm now seeing an assertion in debug mode at function_template.hpp, line 579. I have no idea what this means. Regards Hartmut --------------- http://boost-spirit.com