
I'm not going to comment on the issue of forward iterator default constructibility, but I do agree with this:
1. The macro BOOST_RANGE_ENABLE_CONCEPT_ASSERT should be documented, as it is necessary to keep the concepts BS at bay.
From time to time, often by no fault of our own (e.g. because we are using someone else's non-conformant library), we are forced to use components (e.g. iterators) that are not Standard-conformant. I think Boost should not stand in the way of using such components in cases where their non-conformance does not detract from the task in an essential way. In the OP's example, concept checking was used to check for a requirement that was not necessary for correct operation of the algorithm. To avoid this, Boost should provide the option to disable such concept checking, and of course this option should be documented.
Regards, Nate