]> git.ipfire.org Git - thirdparty/gcc.git/commit
libstdc++: Add static assertions for std::function requirements
authorJonathan Wakely <jwakely@redhat.com>
Thu, 26 Aug 2021 12:13:27 +0000 (13:13 +0100)
committerJonathan Wakely <jwakely@redhat.com>
Thu, 26 Aug 2021 23:12:54 +0000 (00:12 +0100)
commit8cf428bfd3ca967b3d135e311d3e391998a39335
tree374a32287341e906b31c7e5f5969cb7dfc5fbb7a
parent5889e842ae4df48ac471c47d6ed72e05041a1db8
libstdc++: Add static assertions for std::function requirements

Add static assertions to std::function, so that more user-friendly
diagnostics are given when trying to store a non-copyable target object.

These preconditions were added as "Mandates:" by LWG 2447, but I'm
committing them separately from implementing that, to allow just this
change to be backported more easily.

Signed-off-by: Jonathan Wakely <jwakely@redhat.com>
libstdc++-v3/ChangeLog:

* include/bits/std_function.h (function::function(F)): Add
static assertions to check constructibility requirements.
libstdc++-v3/include/bits/std_function.h