assert: fix C++ STL container tostr when compiled with older gcc
> Until CWG 1558 (a C++11 defect), unused parameters in alias templates
were not guaranteed to ensure SFINAE and could be ignored, so earlier
compilers require a more complex definition of void_t,
@@ -36,8 +36,11 @@ extern "C" char *cr_user_wcs_tostr(const wchar_t **);
namespace criterion { namespace internal { namespace stream_override {
-template< class... >
-using __void_t = void;
+template< class... T>
+struct make_void { typedef void type; };
+
+template< class... T>
+using __void_t = typename make_void<T...>::type;
template<typename T, typename = void>
struct __is_printable: std::false_type {};
