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,,,