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).
Hi Niall - This is a bit confusing. It sounds like gcc 6 or greater is needed. I can't think of a situation where ICE'ng the compiler is considered working.
It depends on how you use Outcome in your code. The compiler versions listed at https://ned14.github.io/boost.outcome/prerequisites.html are where Outcome passes all its unit tests clean. You can definitely write a lot of code using Outcome which doesn't ICE the compiler. However I also know from AFIO v2, which makes very extensive use of Outcome, that it blows up older compilers in all sorts of fun ways. If I took the time, I could rewrite how AFIO uses Outcome to not ICE the older compilers. But given how alpha AFIO v2 is, it's just easier to bump the compiler version needed for that library to a non-broken compiler version. That's my observation. I am not sure how to exactly document this informal experience in Outcome's docs. After all, it's the compiler vendors' fault, not Outcome's. Niall -- ned Productions Limited Consulting http://www.nedproductions.biz/ http://ie.linkedin.com/in/nialldouglas/