id summary reporter owner description type status milestone component version severity resolution keywords cc 11708 shared_ptr for void mati_egon@… chris_kohlhoff "Hi, I have been recently working with smart pointers and found out that boost ASIO uses std::shared_ptr for void type under Visual Studio 2013 compiler, what is basically forbidden by standard - void type is an incomplete type that can not be complete. It may lead to broken compilation under future Microsoft compilers, gcc for sure forbids shared_ptr for void type (at least gcc 4.8) throwing static assertion during compilation: {{{ static_assert( !is_void<_Tp1>::value, ""incomplete type"" ); }}} File: asio/details/socket_ops.hpp:63 {{{ typedef shared_ptr shared_cancel_token_type; }}} " Bugs new To Be Determined asio Boost 1.58.0 Problem