Boost logo

Boost :

Subject: Re: [boost] [review] Review of Outcome v2 (Fri-19-Jan to Sun-28-Jan, 2018)
From: Vinnie Falco (vinnie.falco_at_[hidden])
Date: 2018-01-30 17:56:09

On Thu, Jan 18, 2018 at 2:07 PM, charleyb123 . via Boost
<boost_at_[hidden]> wrote:
> The formal review of Niall Douglas' Outcome (v2) library begins Fri-19-Jan
> and continues until Sun-28-Jan, 2018.

My sincerest apologies, I am aware that the review period has ended.
However, given the absence of dissenting voices I find it necessary to
enter my comments into the public record.

I will keep this short, so I will state unequivocally:

    Outcome should be REJECTED

My reasons are as follows:

1. The library is not available to C++11 users. I understand that
technically this is not against "the rules" but my rationale is as

    a. Outcome provides fundamental vocabulary types. Boost has
traditionally been
        the library collection to provide up and coming C++ features.
For example boost::variant is
        usable in C++11 while std::variant is not

    b. Nothing in the implementation of Outcome should require C++14.
As an example, Peter
        wrote a remarkably good version of expected and result using
only C++11 and his
        "better variant" class (which also only requires C++11).
Unfortunately he never published
       this work. I would prefer it over this Outcome.

    c. As Beast is C++11 and relies heavily on error_code, I can't use
it in Beast.

2. The source code is generated from another project with a different license.

3. The Boost policy gives library authors practically unlimited
discretion to make any
    changes they want after their library has been accepted. I have
seen endless public
    examples where the author quarrels with other developers. I am
concerned that
    after acceptance, Outcome will generate significant conflict over
the odd choices
    which the author will unquestionably make and implement (as
evidence by the odd
    choices the author has made in the past).

4. This library is too complicated for what it does: policies are unnecessary.

I recognize that some of these reasons may be considered outside the
scope of the
review process (for example, considering the qualities of the author
in addition to the
library). I think they are relevant.

This review is late for a number of reasons. Among which: I was
expecting a significant
number of people to reject it. At the very least, the people who
rejected the last submission.
And I realize that my review will cause a significant amount of drama
on its own, which I
hoped to avoid, by the frank and somewhat confrontational nature of it.


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