Boost logo

Boost :

From: Eric Niebler (eric_at_[hidden])
Date: 2007-10-24 11:13:24

Thorsten Ottosen wrote:
> Eric Niebler skrev:
>> Thorsten Ottosen wrote:
>>> Beman Dawes skrev:
>>>> Looks like the range fixes broke foreach. See
>>> This is my fault, sinc eI changed the names of the ADL hooks back to
>>> 1.34 names:
>>> namespace boost
>>> {
>>> char * range_begin(mine::dummy&) {return 0;}
>>> char const * range_begin(mine::dummy const&) {return 0;}
>>> char * range_end(mine::dummy&) {return 0;}
>>> char const * range_end(mine::dummy const&) {return 0;}
>>> }
>>> should be
>>> namespace boost
>>> {
>>> char * boost_range_begin(mine::dummy&) {return 0;}
>>> char const * boost_range_begin(mine::dummy const&) {return 0;}
>>> char * boost_range_end(mine::dummy&) {return 0;}
>>> char const * boost_range_end(mine::dummy const&) {return 0;}
>>> }
>>> The old names have been in use for so long that I don't see the point in
>>> changing them anymore.
>> I'm dumbfounded. Thorsten, how can you make an API-breaking change to a
>> core library like Range at a time like this, and not tell anybody?
> I could have announced this better, I apologize for that. What time is this?

We're stabilizing for 1.35.

>> My
>> code, docs and tests would all need to change because of this.
>> !!!!!
>> We agreed long ago that range_begin() was the name of the customization
>> point, because the Range concept is larger than Boost. Has that changed?
> And that is the problem: do you want to break the few boost libs in a
> development trunk, or break all clients out there? The names where
> settled for maybe two years ago.

Have you just changed the names of the adl hooks? There are lots of
other breaking changes, like the changed meaning of range_iterator<>,
the deprecation of range_result_iterator<> and the addition of
range_mutable_iterator<>. And the behavior of range_end(char (&)[N]),
too. Are you going to roll all of that back? If not, then you haven't
really got a leg to stand on -- you're breaking clients anyway.

This change is a mistake. Please, back it out.

Eric Niebler
Boost Consulting

Boost list run by bdawes at, gregod at, cpdaniel at, john at