Boost logo

Boost :

Subject: Re: [boost] Libraries failing across the board.
From: Eric Niebler (eniebler_at_[hidden])
Date: 2014-07-13 00:46:37


On 7/9/2014 11:21 AM, Beman Dawes wrote:
> On Wed, Jul 9, 2014 at 2:24 AM, Eric Niebler wrote:
>> On 07/08/2014 02:07 PM, Beman Dawes wrote:
>>> Marshall is just a few days away from being able to put out a beta
>>> release
>>> candidate. (And that is very good news!)
>>>
>>> But we still have too many libraries failing across the board on master:
>>>
>>> accumulators
>>
>> Two tests broke long ago due to some change in Boost.Random, which is
>> used only by the tests. I've never found time to fix it. I could take
>> these broken tests out of the matrix, if it helps.
>
> Or markup the expected failures master status/explicit-failures-markup.xml
> so the reports tell release managers and users what is going on.

Done.

> <sigh>Someday we will have an automatic testing system that rejects changes
> which break other libraries.</sigh>

I think that would be too restrictive. Sometimes we break interfaces.
This happens to be one of those cases.

>>> proto
>>
>> Thanks for the heads up. I tend not to look at the tests unless I change
>> something, but stuff tends to break all by itself. I'll add it to the
>> work queue.

This failure was caused by the following change to boost::ref by Agustín
Bergé (K-ballo):

https://github.com/boostorg/core/commit/af629ffa59094048c335609f285afe342fd1f1e4

I didn't see any discussion about this change. I can guess why it was
made: to make boost::ref behave like std::ref, which does "reference
collapsing" with reference_wrapper (which IMO is broken, and I
unsuccessfully argued that in the committee when this was voted in). The
problem is, it's a breaking interface change to one of the oldest, most
heavily used, and stable pieces of Boost. It pretty massively breaks a
major part of Boost.Proto's interface (proto::make_expr). I've hacked
around the problem in Proto's tests, but this is going to break end-user
code, and I don't know what I'm going to tell people.

I don't like differences between boost and std. But I also don't like
breaking code. If it were up to me, I'd probably back out the change to
boost::ref for 1.56 and have a discussion.

<sigh>
\e


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk