[Bug c++/85965] G++ gives cryptic error instead of incomplete type
hedayat.fwd at gmail dot com
gcc-bugzilla@gcc.gnu.org
Tue Mar 19 15:17:00 GMT 2019
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85965
Hedayat Vatankhah <hedayat.fwd at gmail dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |hedayat.fwd at gmail dot com
--- Comment #2 from Hedayat Vatankhah <hedayat.fwd at gmail dot com> ---
IMHO, it is very unfortunate that we need to provide the full definition for
this to work. It has forced me to include a header file just for this error to
go away, which is not desirable. I guess it doesn't compile a completely valid
C++ code (at least, I've not found that this is a std::set requirement).
Probably, __is_invocable<> should not signal an error if it finds an incomplete
type, or it should be replaced with a construct that doesn't.
So, if the code using an incomplete type pointer for std::set is a valid C++
code, this is a sever (non-standard conforming) bug in library.
More information about the Gcc-bugs
mailing list