
I've just found what I believe to be a new regression on the boost RC_1_34_0 branch relative to the 1.33.1 release. The example below is a simplified extract of some real world where the behaviour of boost::none silently changes. #include <string> #include <iostream> #include <boost/optional.hpp> #include <boost/none.hpp> namespace sql { void literal( std::ostream& os, int i ) { os << i; } void literal( std::ostream& os, boost::optional<std::string> const& str ) { // escaping removed for clarity if (str) os << '"' << str.get() << '"'; else os << "NULL"; } } int main() { sql::literal( std::cout, boost::none ); } In 1.33.1, this prints out 'NULL' (which is what I would naively expect); on 1.34, it prints '0'. In both cases compiles cleanly in gcc 4.1.1. Sorry if this is a known regression, but having just seen the email saying RC_1_34_0 is down to zero regressions, I thought a quick-heads up was in order. Richard