id summary reporter owner description type status milestone component version severity resolution keywords cc 4028 fusion::begin and fusion::end lead to problems with ADL-based begin and end functions for ranges Mathias Gaunard Joel de Guzman "In C++0x, begin and end for ranges (that extract the beginning iterator and the past-the-end one, respectively) are to be found through ADL. This causes problems when fusion is an associated namespace (as for example in the case {{{ iterator_range< some_iterator< fusion::vector<> > > }}}), since the begin and end of the fusion namespace will be considered by ADL, and that results in an error because a range is not a fusion sequence. I see two (three) solutions:[[BR]] - Mask fusion::begin and fusion::end with SFINAE so that they are only available if the argument is a fusion sequence. That means however that we can't have a fusion sequence that is at the same time a range, even though this could have some uses.[[BR]] - Rename fusion::begin and fusion::end to something else.[[BR]] (- Ask the standard people to reconsider)" Bugs reopened To Be Determined fusion Boost 1.42.0 Problem ADL range begin end mateusz@…