https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86642

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 believe this issue is based on a minor misunderstanding.

As written, the return type is never a void type.  However, a small adjustment
in the return type gives what seems to be the intended effect:

  std::enable_if_t<true, void>  // assumes C++14 or later
or
  typename std::enable_if<true, void>::type  // any C++ dialect

Either will work to invoke the enable_if metafunction and produce a SFINAE
effect.  However, as written, the metafunction is not invoked and so does not
activate SFINAE. 

However, as written, the code says that func will return an object of this
metafunction's type; since the function does not do so, the warning seems
correct.  I respectfully recommend this issue be closed as INVALID.

Reply via email to