[Bug c++/57684] [c++11] Lambda is not convertible to std::function
bluescarni at gmail dot com
gcc-bugzilla@gcc.gnu.org
Sun Jun 23 12:07:00 GMT 2013
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57684
--- Comment #2 from Francesco Biscani <bluescarni at gmail dot com> ---
(In reply to Jonathan Wakely from comment #1)
> I think the problem is that unordered_map requires its template arguments to
> be complete at the time of instantiation, otherwise it's undefined behaviour.
>
> When the static member is instantiated the type Derived is not complete,
> because base<derived> is instantiated before the body of derived.
>
> So although it would be nice if this worked, I think it technically relies
> on undefined behaviour.
Thanks for the quick reply!
I understand this might be a bit OT here, but would wrapping the static member
in an std::unique_ptr avoid UB?
More information about the Gcc-bugs
mailing list