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 https://ned14.github.io/boost.outcome/prerequisites.html. 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. Niall -- ned Productions Limited Consulting http://www.nedproductions.biz/ http://ie.linkedin.com/in/nialldouglas/