id,summary,reporter,owner,description,type,status,milestone,component,version,severity,resolution,keywords,cc 9431,Problem compiling zip_iterator with clang and C++11,jonathan.jones@…,jeffrey.hellrung,"The following code fails to compile on OSX 10.8.5 with Xcode 5.0.1 and Boost 1.49.0. This is not real world code, but it demonstrates the problem I'm facing. {{{ #include template void foo() { boost::zip_iterator > iter; std::fill(iter, iter, boost::make_tuple(T())); } void bar() { foo(); } }}} Here are the commands I used to compile (if I drop ""-stdlib=libc++"" from the compile line, the code compiles just fine): {{{ setenv DEVELOPER_DIR /Applications/Xcode5.0.1.app/Contents/Developer xcrun -sdk macosx10.8 clang++ -c zip_iterator.cpp -I/include -std=c++11 -stdlib=libc++ }}} and here is a heavily formatted snippet of the key error: {{{ /Applications/Xcode5.0.1.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/algorithm:1824:1: note: candidate function [with _RandomAccessIterator = boost::zip_iterator >, _Tp = boost::tuples::tuple] not viable: no known conversion from 'typename iterator_traits > >::iterator_category' (aka 'boost::detail::iterator_category_with_traversal') to 'std::__1::random_access_iterator_tag' for 4th argument __fill(_RandomAccessIterator __first, _RandomAccessIterator __last, const _Tp& __value_, random_access_iterator_tag) }}} It appears as if the zip_iterator is not being converted to the correct iterator tag, which is why no calls to std::fill match.",Bugs,new,To Be Determined,iterator,Boost 1.49.0,Problem,,,