Boost logo

Boost-Maint :

Subject: [Boost-maint] Another patch request
From: Marshall Clow (mclow.lists_at_[hidden])
Date: 2014-02-03 14:52:37


On Feb 3, 2014, at 7:42 AM, Marshall Clow <mclow.lists_at_[hidden]> wrote:

> P.S. My next change to function will be as simple as the last one, but I’m going to make it a pull request to see how well it works.

I lied. This was short enough that I didn’t do that.
Next one for sure! (says Bullwinkle).

This patch fixes two tests that were failing when built with libc++/c++11.
The problem is in the tests - they were comparing two ostream & for equality.

Strictly speaking, that’s not allowed.
What was happening in C++03 was that they were being implicitly converted to void *, and the pointers compared. (this allowed the “if ( !stream)” idiom.
In C++11, the conversion is to bool (not void *), and it is explicit - so this code no longer compiles:
        std::cout == std::cout.

I changed the tests to use a different structure there, one with an actual operator==.
(and removed some tabs)

This should give Boost.Function an (almost) completely green test matrix.

— Marshall


Boost-Maint list run by bdawes at acm dot org