
Paul A Bristow <pbristow <at> hetp.u-net.com> writes:
Although I made some input on this, I'm not the maintainer for lexical_cast (and don't have thiese platforms to test).
Maintainer is Alexander Nasonov [alexander.nasonov <at> gmail.com]) but in case he isn't listening:
I'm listening but I couldn't reply last few times because gmane rejects to send my messages. Sorry to all who didn't get a reply. I don't have an access to this complier either.
I can't see an obvious cause (presume it works OK on other platforms), so I can only suggest breaking this down into separate assertions to see which one is causing the trouble, and perhaps getting the values of std::limits<T>::digits and boost::is_abstract<T>.
It seems that the suitable precision (decimal digits to use to get the full accuracy for type T) can't be calculated.
It would also be useful to see what T is? Is this some funny type for which std::numeric_limits isn't properly specialised?
There is no specialication at all in the example:
#include <boost/lexical_cast.hpp> int main() { return 0; }
JoaquĆn, can you try #include <boost/detail/lcast_precision.hpp> int main() {} and then break this assertion down to see which part is failing? If it doesn't help, you can disable precision calculation at compile-time. Currently, it's disabled only if BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS is defined but of course it can be changed. -- Alexander