https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81263
W E Brown <webrown.cpp at gmail dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |webrown.cpp at gmail dot com --- Comment #1 from W E Brown <webrown.cpp at gmail dot com> --- I have not confirmed the report but, as the originator of the void_t technique, I do have a few comments: a) The cited CWG issue was resolved several years ago, and is in DR status. That means the exhibited code is expected to work. If it doesn't, I consider it a compiler issue, not a library issue. b) Therefore, once the compiler is fixed (if necessary), ISTM there should be no reason to use the cited alternative definition of void_t, which I first discovered and disseminated as a temporary workaround only. See my WG21 paper N3911 and/or part 2 of my metaprogramming talk at CppCon 2014. c) FWIW, while it should work as exhibited in the report, the code does not quite conform to the design of the detection idiom. I prefer to write such a 2nd template parameter as a type parameter of the form class = void_t<whatever>.