The 'Oven' port...

http://dl.dropbox.com/u/1682460/git/OvenToBoost/libs/range/doc/html/range_extension/design_rationale/regular_op.html

makes much of its 'regular' operator, which is used to fix this problem

using boost::lambda::_1;
for_each_(r | filtered(_1 % 2 == 0), f);          // Error! Can't default construct/copy assign
for_each_(r | filtered(regular(_1 % 2 == 0)), f); // OK

However, AFAICS this is not a problem in current-ishBoost (1.47). Has this ever been a problem? Can anyone
comment on its general  provenance?

Thx, Rob.