You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In fact, just including callable_traits causes clang to emit those errors in C++17 mode. The same code crashes gcc, removing the constructor is a workaround and results in a successful compilation.
I cannot back it up with a reference to the standard, but the clang implementation suggests that this is not legal C++17. I don't trust the gcc implementation in that regard because of the bug I found.
The text was updated successfully, but these errors were encountered:
Thank you for the report; this is quite unfortunate. I asked about this here. libstdc++ uses this technique for its definition of is_function, which makes me think this is a QOI issue that I'll need to work around.
I used this technique to cut down on the amount of preprocessed text in half when compiling with c++1z. I'll start working to revert this optimization, but it will increase the preprocessed LOC from 20k to 40k :(
I just (indirectly) tried to use your library. Unfortunately, the specialization on
noexcept
of function pointers (#89) does not work on clang:Clang output:
In fact, just including callable_traits causes clang to emit those errors in C++17 mode. The same code crashes gcc, removing the constructor is a workaround and results in a successful compilation.
I cannot back it up with a reference to the standard, but the clang implementation suggests that this is not legal C++17. I don't trust the gcc implementation in that regard because of the bug I found.
The text was updated successfully, but these errors were encountered: