[libcxx-commits] [PATCH] D127908: [libc++] Remvoe std::function in C++03

Nikolas Klauser via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Wed Jun 15 15:21:02 PDT 2022

philnik created this revision.
philnik added a reviewer: ldionne.
Herald added a project: All.
philnik requested review of this revision.
Herald added a project: libc++.
Herald added a subscriber: libcxx-commits.
Herald added a reviewer: libc++.

`std::function` has been deprecated for a few releases now. Remove it with and option to opt-back-in with a note that this option will be removed in libc++16.

  rG LLVM Github Monorepo



Index: libcxx/include/__functional/function.h
--- libcxx/include/__functional/function.h
+++ libcxx/include/__functional/function.h
@@ -1239,7 +1239,7 @@
 swap(function<_Rp(_ArgTypes...)>& __x, function<_Rp(_ArgTypes...)>& __y) _NOEXCEPT
 {return __x.swap(__y);}
-#else // _LIBCPP_CXX03_LANG
 namespace __function {
@@ -2805,7 +2805,7 @@
 swap(function<_Fp>& __x, function<_Fp>& __y)
 {return __x.swap(__y);}
+#endif // _LIBCPP_CXX03_LANG
Index: libcxx/docs/ReleaseNotes.rst
--- libcxx/docs/ReleaseNotes.rst
+++ libcxx/docs/ReleaseNotes.rst
@@ -142,6 +142,10 @@
   ``_LIBCPP_ENABLE_CXX20_REMOVED_ALLOCATOR_MEMBERS``, this ensures that the members of
   ``allocator<void>`` removed in C++20 can be accessed.
+- ``std::function`` has been remove from C++03. If you are using it please remove the uses
+  or upgrade to C++11. It is possible to re-enable ``std::function`` by defining
+  ``_LIBCPP_ENABLE_CXX03_FUNCTION``. This option it will be removed in libc++16.
 ABI Changes

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D127908.437368.patch
Type: text/x-patch
Size: 1246 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/libcxx-commits/attachments/20220615/7502769b/attachment.bin>

More information about the libcxx-commits mailing list