
Hi, Clang 2.9 just pointed out what's probably an error in fusion in boost-trunk, the same one I ran into during the Conversion review yesterday it seems. Note that GCC doesn't complain even with -Wall -Wextra -pedantic. The error: In file included from fusion.cpp:1: In file included from boost-trunk/boost/fusion/include/vector.hpp:10: In file included from boost-trunk/boost/fusion/container/vector.hpp:11: In file included from boost-trunk/boost/fusion/container/vector/vector10.hpp:15: In file included from boost-trunk/boost/fusion/sequence/intrinsic/begin.hpp:17: In file included from boost-trunk/boost/fusion/sequence/intrinsic/detail/segmented_begin.hpp:11: In file included from boost-trunk/boost/fusion/iterator/segmented_iterator.hpp:13: In file included from boost-trunk/boost/fusion/container/list/cons.hpp:14: In file included from boost-trunk/boost/fusion/sequence/intrinsic/end.hpp:17: boost-trunk/boost/fusion/sequence/intrinsic/detail/segmented_end.hpp:33:70: error: invalid use of incomplete type 'fusion::nil' segmented_end_impl<Sequence, fusion::nil>::call(seq, fusion::nil())); ^~~~~~~~~~~~~ In file included from fusion.cpp:1: In file included from boost-trunk/boost/fusion/include/vector.hpp:10: In file included from boost-trunk/boost/fusion/container/vector.hpp:11: In file included from boost-trunk/boost/fusion/container/vector/vector10.hpp:15: In file included from boost-trunk/boost/fusion/sequence/intrinsic/begin.hpp:17: In file included from boost-trunk/boost/fusion/sequence/intrinsic/detail/segmented_begin.hpp:10: In file included from boost-trunk/boost/fusion/sequence/intrinsic/detail/segmented_begin_impl.hpp:11: boost-trunk/boost/fusion/container/list/cons_fwd.hpp:13:12: note: forward declaration of 'boost::fusion::nil' struct nil; ^ 1 error generated. The code to reproduce the error: #include <boost/fusion/include/vector.hpp> int main(int, char*[]) { return 0; } It seems nil is either only forward-declared or the include with the declaration is missing. Kind regards, Jeroen Habraken