The new streaming stuff causes the Visual Studio causes compiler crashes in Visual Studio 2013 when functions have enum class arguments (eg: see the test case I added in this commit).
I've tried moving around the decltype() specification (eg: putting it before the function - with suitable std::declval uses - in place of the auto, or putting it as an argument), but it seems to be the fact that decltype(s << t) is being used where t is an enum class instance that is causing the issue.
The new streaming stuff causes the Visual Studio causes compiler crashes in Visual Studio 2013 when functions have enum class arguments (eg: see the test case I added in this commit).
I've tried moving around the decltype() specification (eg: putting it before the function - with suitable std::declval uses - in place of the auto, or putting it as an argument), but it seems to be the fact that decltype(s << t) is being used where t is an enum class instance that is causing the issue.
Doing something like
seems to fix the issue, but breaks the unit tests.