id summary reporter owner description type status milestone component version severity resolution keywords cc 11682 fusion::pair not compatible with std::is_default_constructible crmoore@… Joel de Guzman " When the {{{Second}}} type of pair is not default constructible, {{{std::is_default_constructible}}} either returns true or fails to compile for fusion::pair. This is on OSX with apple and macports compilers. Adding {{{enable_if< is_default_constructible >}}} to pair's default constructor makes this work as expected. {{{ struct NotDefaultConstructible { NotDefaultConstructible(int){}; }; // prints 0 std::cout << std::is_default_constructible< NotDefaultConstructible >::value << std::endl; using fusion_pair1 = boost::fusion::pair; // should print 0 // fails to compile on clang (xcode 7, 3.4, 3.6, 3.7), gcc 4.9 // prints 1 on gcc 5, clang 3.4 std::cout << std::is_default_constructible< fusion_pair1 >::value << std::endl; }}} Test and patch attached. Patch is unlikely to meat portability requirements to be applied as-is." Bugs new To Be Determined fusion Boost 1.59.0 Problem