id summary reporter owner description type status milestone component version severity resolution keywords cc 5403 filesystem3::recursive_directory_iterator::increment(system::error_code& ec) unexpected behaviour ttan@… Beman Dawes "please see this link [http://boost.2283326.n4.nabble.com/How-to-skip-a-sub-directory-with-filesystem3-recursive-directory-iterator-in-case-of-exception-td3417953.html] for details. ideally, something like below should be working for either throwing(ec.m_val !=0) or no-throwing(ec.m_val ==0 ) case. {{{ boost::system::error_code ec; for (recursive_directory_iterator itr(root, ec), itr_end; itr!=itr_end; ) { ... ; itr.increment(ec); if(ec) itr.pop(); } }}} Additionally, the intuitive expectation is that: recursive_directory_iterator::increment(ec) is a drop-in replacement and behaves like recursive_directory_iterator::increment() or recursive_directory_iterator::operator++() in case of no throw(ec.m_val == 0). To be more specifically, in such a case, the above code is expected to be effectively the same as: for (recursive_directory_iterator itr(root), itr_end; itr!=itr_end; ) { ... ; itr.increment(); // or itr++; } and for (recursive_directory_iterator itr(root), itr_end; itr!=itr_end; itr++) { ... ; } the current implementation does not allow it. " Bugs closed To Be Determined filesystem Boost Development Trunk Showstopper fixed recursive_directory_iterator increment