Boost logo

Boost :

Subject: Re: [boost] [review] Review of Outcome (starts Fri-19-May)
From: Niall Douglas (s_sourceforge_at_[hidden])
Date: 2017-05-19 16:00:43

>> Outcome makes use of variable templates. There is still a code path
>> using types instead, but it is used exclusively on MSVC and I aim to
>> remove it as soon as Microsoft fix their compiler (I was told it'll be
>> VS2017 Update 1).
> So Outcome requires C++14 then? Does this mean that compilation with
> gcc 4.9.x is not supported?

The minimum known working compilers are listed at As it says,
you need GCC 5.4 minimum, and in practice GCC 6 if you want to avoid
ICEs, and GCC 7 if you want full functionality (assuming GCC has fixed
the bugs Outcome triggers in GCC 6).

>> I intend to drop support for VS2015 before Outcome enters Boost,
> Although I have not yet attempted my own implementation of
> expected/outcome, it seems to me that an implementation using only
> C++11, or even only pre-C++11, is quite possible. There are still many
> shops that are "stuck" on particular older versions of Visual Studio.
> Restricting a generally useful library which parallels a standard
> library proposal, to only the latest version of Visual Studio sounds
> quite harsh.

A proposed Boost library need only conform to the latest C++ standard.
And as I hint at above, older compilers ICE a lot with Outcome. Use is
much more stable on the most recent POSIX compilers. No point therefore
in special casing Visual Studio, basically you need a compiler made last
year or newer.


ned Productions Limited Consulting

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