id summary reporter owner description type status milestone component version severity resolution keywords cc 6182 lexical_cast: invalid application of 'sizeof' to incomplete type 'removed_ptr_t' pmachata@… Antony Polukhin "This is triggered by use of incomplete types, as in the following code: {{{ #include #include struct ble; typedef struct ble *meh; std::ostream & operator <<(std::ostream &o, meh m) { o << ""yay""; } int main(int argc, char *argv[]) { meh heh; std::cout << boost::lexical_cast(heh) << std::endl; } }}} This used to work as expected with boost 1.46.1. With boost 1.48.0, the compilation fails with the following message: {{{ In file included from x.cc:1:0: /usr/include/boost/lexical_cast.hpp: In static member function 'static Target boost::detail::lexical_cast_do_cast::lexical_cast_impl(const Source&) [with Target = std::basic_string, Source = ble*]': /usr/include/boost/lexical_cast.hpp:1916:50: instantiated from 'Target boost::lexical_cast(const Source&) [with Target = std::basic_string, Source = ble*]' x.cc:16:52: instantiated from here /usr/include/boost/lexical_cast.hpp:1742:25: error: invalid application of 'sizeof' to incomplete type 'removed_ptr_t {aka ble}' }}} The compiler used is GCC 4.6.1, and I imagine that others would be impacted, too." Bugs closed To Be Determined lexical_cast Boost 1.48.0 Regression fixed