-
Notifications
You must be signed in to change notification settings - Fork 14.3k
[libc++] Granularize <new> includes #119964
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
8abbd55
to
0dc9fa7
Compare
@llvm/pr-subscribers-libcxx Author: Nikolas Klauser (philnik777) ChangesPatch is 32.64 KiB, truncated to 20.00 KiB below, full version: https://github.com/llvm/llvm-project/pull/119964.diff 33 Files Affected:
diff --git a/libcxx/include/__algorithm/inplace_merge.h b/libcxx/include/__algorithm/inplace_merge.h
index ad3fe6a7a505d9..e0ccdab993da12 100644
--- a/libcxx/include/__algorithm/inplace_merge.h
+++ b/libcxx/include/__algorithm/inplace_merge.h
@@ -29,7 +29,6 @@
#include <__memory/unique_temporary_buffer.h>
#include <__utility/move.h>
#include <__utility/pair.h>
-#include <new>
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
# pragma GCC system_header
diff --git a/libcxx/include/__algorithm/stable_partition.h b/libcxx/include/__algorithm/stable_partition.h
index 0438f589a39d7a..2ba7239a3a0397 100644
--- a/libcxx/include/__algorithm/stable_partition.h
+++ b/libcxx/include/__algorithm/stable_partition.h
@@ -22,7 +22,6 @@
#include <__type_traits/remove_cvref.h>
#include <__utility/move.h>
#include <__utility/pair.h>
-#include <new>
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
# pragma GCC system_header
diff --git a/libcxx/include/__algorithm/stable_sort.h b/libcxx/include/__algorithm/stable_sort.h
index 43f591ac02b01d..1111f5509bc384 100644
--- a/libcxx/include/__algorithm/stable_sort.h
+++ b/libcxx/include/__algorithm/stable_sort.h
@@ -24,7 +24,6 @@
#include <__type_traits/is_trivially_assignable.h>
#include <__utility/move.h>
#include <__utility/pair.h>
-#include <new>
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
# pragma GCC system_header
diff --git a/libcxx/include/__exception/exception_ptr.h b/libcxx/include/__exception/exception_ptr.h
index c43c005603dd7a..7df46a0e94dce0 100644
--- a/libcxx/include/__exception/exception_ptr.h
+++ b/libcxx/include/__exception/exception_ptr.h
@@ -16,7 +16,6 @@
#include <__memory/construct_at.h>
#include <__type_traits/decay.h>
#include <cstdlib>
-#include <new>
#include <typeinfo>
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
diff --git a/libcxx/include/__functional/function.h b/libcxx/include/__functional/function.h
index 543be05f10f330..06d3225a6e22d3 100644
--- a/libcxx/include/__functional/function.h
+++ b/libcxx/include/__functional/function.h
@@ -38,7 +38,6 @@
#include <__utility/piecewise_construct.h>
#include <__utility/swap.h>
#include <__verbose_abort>
-#include <new>
#include <tuple>
#include <typeinfo>
diff --git a/libcxx/include/__memory/allocator.h b/libcxx/include/__memory/allocator.h
index 1fcaf6402667e1..a7066885a978a6 100644
--- a/libcxx/include/__memory/allocator.h
+++ b/libcxx/include/__memory/allocator.h
@@ -16,13 +16,14 @@
#include <__memory/addressof.h>
#include <__memory/allocate_at_least.h>
#include <__memory/allocator_traits.h>
+#include <__new/allocate.h>
+#include <__new/exceptions.h>
#include <__type_traits/is_const.h>
#include <__type_traits/is_constant_evaluated.h>
#include <__type_traits/is_same.h>
#include <__type_traits/is_void.h>
#include <__type_traits/is_volatile.h>
#include <__utility/forward.h>
-#include <new>
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
# pragma GCC system_header
diff --git a/libcxx/include/__memory/builtin_new_allocator.h b/libcxx/include/__memory/builtin_new_allocator.h
index b1611b12bff03e..cde1a6025a9a70 100644
--- a/libcxx/include/__memory/builtin_new_allocator.h
+++ b/libcxx/include/__memory/builtin_new_allocator.h
@@ -12,7 +12,7 @@
#include <__config>
#include <__cstddef/size_t.h>
#include <__memory/unique_ptr.h>
-#include <new>
+#include <__new/allocate.h>
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
# pragma GCC system_header
diff --git a/libcxx/include/__memory/ranges_construct_at.h b/libcxx/include/__memory/ranges_construct_at.h
index b7523d4ba4b81b..35ed7965100038 100644
--- a/libcxx/include/__memory/ranges_construct_at.h
+++ b/libcxx/include/__memory/ranges_construct_at.h
@@ -22,7 +22,6 @@
#include <__utility/declval.h>
#include <__utility/forward.h>
#include <__utility/move.h>
-#include <new>
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
# pragma GCC system_header
diff --git a/libcxx/include/__memory/ranges_uninitialized_algorithms.h b/libcxx/include/__memory/ranges_uninitialized_algorithms.h
index 4815ac6e5de99e..57a7a4616826e5 100644
--- a/libcxx/include/__memory/ranges_uninitialized_algorithms.h
+++ b/libcxx/include/__memory/ranges_uninitialized_algorithms.h
@@ -25,7 +25,6 @@
#include <__ranges/dangling.h>
#include <__type_traits/remove_reference.h>
#include <__utility/move.h>
-#include <new>
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
# pragma GCC system_header
diff --git a/libcxx/include/__memory/raw_storage_iterator.h b/libcxx/include/__memory/raw_storage_iterator.h
index 2ee4c074d8d337..a81d93275f7c49 100644
--- a/libcxx/include/__memory/raw_storage_iterator.h
+++ b/libcxx/include/__memory/raw_storage_iterator.h
@@ -16,7 +16,6 @@
#include <__iterator/iterator_traits.h>
#include <__memory/addressof.h>
#include <__utility/move.h>
-#include <new>
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
# pragma GCC system_header
diff --git a/libcxx/include/__memory/shared_ptr.h b/libcxx/include/__memory/shared_ptr.h
index 4fa75af4ccc86d..97e4031499ed5e 100644
--- a/libcxx/include/__memory/shared_ptr.h
+++ b/libcxx/include/__memory/shared_ptr.h
@@ -57,7 +57,6 @@
#include <__utility/move.h>
#include <__utility/swap.h>
#include <__verbose_abort>
-#include <new>
#include <typeinfo>
#if _LIBCPP_HAS_ATOMIC_HEADER
# include <__atomic/memory_order.h>
diff --git a/libcxx/include/__memory/uninitialized_algorithms.h b/libcxx/include/__memory/uninitialized_algorithms.h
index 25d192c7718857..9587f01f64d58f 100644
--- a/libcxx/include/__memory/uninitialized_algorithms.h
+++ b/libcxx/include/__memory/uninitialized_algorithms.h
@@ -37,7 +37,6 @@
#include <__utility/exception_guard.h>
#include <__utility/move.h>
#include <__utility/pair.h>
-#include <new>
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
# pragma GCC system_header
diff --git a/libcxx/include/__memory/unique_temporary_buffer.h b/libcxx/include/__memory/unique_temporary_buffer.h
index 4f47c84e2f8dbe..ca6292338c0056 100644
--- a/libcxx/include/__memory/unique_temporary_buffer.h
+++ b/libcxx/include/__memory/unique_temporary_buffer.h
@@ -16,8 +16,9 @@
#include <__cstddef/ptrdiff_t.h>
#include <__memory/allocator.h>
#include <__memory/unique_ptr.h>
+#include <__new/allocate.h>
+#include <__new/global_new_delete.h>
#include <__type_traits/is_constant_evaluated.h>
-#include <new>
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
# pragma GCC system_header
diff --git a/libcxx/include/__memory_resource/polymorphic_allocator.h b/libcxx/include/__memory_resource/polymorphic_allocator.h
index 30fa5c2170d502..2dec9788852c2b 100644
--- a/libcxx/include/__memory_resource/polymorphic_allocator.h
+++ b/libcxx/include/__memory_resource/polymorphic_allocator.h
@@ -15,9 +15,10 @@
#include <__cstddef/max_align_t.h>
#include <__fwd/pair.h>
#include <__memory_resource/memory_resource.h>
+#include <__new/exceptions.h>
+#include <__new/placement_new_delete.h>
#include <__utility/exception_guard.h>
#include <limits>
-#include <new>
#include <tuple>
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
diff --git a/libcxx/include/__ostream/basic_ostream.h b/libcxx/include/__ostream/basic_ostream.h
index ad43c72a3c2eae..6d24171bc0d6cf 100644
--- a/libcxx/include/__ostream/basic_ostream.h
+++ b/libcxx/include/__ostream/basic_ostream.h
@@ -16,6 +16,7 @@
# include <__exception/operations.h>
# include <__memory/shared_ptr.h>
# include <__memory/unique_ptr.h>
+# include <__new/exceptions.h>
# include <__ostream/put_character_sequence.h>
# include <__system_error/error_code.h>
# include <__type_traits/conjunction.h>
@@ -26,7 +27,6 @@
# include <bitset>
# include <ios>
# include <locale>
-# include <new> // for __throw_bad_alloc
# include <streambuf>
# include <string_view>
diff --git a/libcxx/include/__pstl/backends/libdispatch.h b/libcxx/include/__pstl/backends/libdispatch.h
index 701367b505c8b7..4c63c4c8442074 100644
--- a/libcxx/include/__pstl/backends/libdispatch.h
+++ b/libcxx/include/__pstl/backends/libdispatch.h
@@ -23,6 +23,7 @@
#include <__memory/allocator.h>
#include <__memory/construct_at.h>
#include <__memory/unique_ptr.h>
+#include <__new/exceptions.h>
#include <__numeric/reduce.h>
#include <__pstl/backend_fwd.h>
#include <__pstl/cpu_algos/any_of.h>
@@ -38,7 +39,6 @@
#include <__utility/exception_guard.h>
#include <__utility/move.h>
#include <__utility/pair.h>
-#include <new>
#include <optional>
_LIBCPP_PUSH_MACROS
diff --git a/libcxx/include/__pstl/cpu_algos/transform_reduce.h b/libcxx/include/__pstl/cpu_algos/transform_reduce.h
index e9f622d832cd5c..abd9d42a6f2e65 100644
--- a/libcxx/include/__pstl/cpu_algos/transform_reduce.h
+++ b/libcxx/include/__pstl/cpu_algos/transform_reduce.h
@@ -20,7 +20,6 @@
#include <__type_traits/is_arithmetic.h>
#include <__type_traits/is_execution_policy.h>
#include <__utility/move.h>
-#include <new>
#include <optional>
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
diff --git a/libcxx/include/__pstl/handle_exception.h b/libcxx/include/__pstl/handle_exception.h
index 57dfcfde4554f8..3b5fca86902b0a 100644
--- a/libcxx/include/__pstl/handle_exception.h
+++ b/libcxx/include/__pstl/handle_exception.h
@@ -10,9 +10,9 @@
#define _LIBCPP___PSTL_HANDLE_EXCEPTION_H
#include <__config>
+#include <__new/exceptions.h>
#include <__utility/forward.h>
#include <__utility/move.h>
-#include <new> // __throw_bad_alloc
#include <optional>
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
diff --git a/libcxx/include/__utility/no_destroy.h b/libcxx/include/__utility/no_destroy.h
index 8edd194577d7c7..16f424ae119c4b 100644
--- a/libcxx/include/__utility/no_destroy.h
+++ b/libcxx/include/__utility/no_destroy.h
@@ -10,9 +10,9 @@
#define _LIBCPP___UTILITY_NO_DESTROY_H
#include <__config>
+#include <__new/placement_new_delete.h>
#include <__type_traits/is_constant_evaluated.h>
#include <__utility/forward.h>
-#include <new>
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
# pragma GCC system_header
diff --git a/libcxx/include/__utility/small_buffer.h b/libcxx/include/__utility/small_buffer.h
index 405c0aed459632..ff6e7e76f14f52 100644
--- a/libcxx/include/__utility/small_buffer.h
+++ b/libcxx/include/__utility/small_buffer.h
@@ -13,12 +13,13 @@
#include <__cstddef/byte.h>
#include <__cstddef/size_t.h>
#include <__memory/construct_at.h>
+#include <__new/allocate.h>
+#include <__new/launder.h>
#include <__type_traits/decay.h>
#include <__type_traits/is_trivially_constructible.h>
#include <__type_traits/is_trivially_destructible.h>
#include <__utility/exception_guard.h>
#include <__utility/forward.h>
-#include <new>
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
# pragma GCC system_header
diff --git a/libcxx/include/exception b/libcxx/include/exception
index f0eaba1295fa3d..6565f1b4641d1d 100644
--- a/libcxx/include/exception
+++ b/libcxx/include/exception
@@ -93,6 +93,7 @@ template <class E> void rethrow_if_nested(const E& e);
# if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
# include <cstddef>
# include <cstdlib>
+# include <new>
# include <type_traits>
# endif
#endif // 0
diff --git a/libcxx/include/future b/libcxx/include/future
index dacf2c10a1990b..3a612d80bc85c6 100644
--- a/libcxx/include/future
+++ b/libcxx/include/future
@@ -407,7 +407,6 @@ template <class R, class Alloc> struct uses_allocator<packaged_task<R>, Alloc>;
# include <__utility/forward.h>
# include <__utility/move.h>
# include <__utility/swap.h>
-# include <new>
# include <stdexcept>
# include <tuple>
# include <version>
diff --git a/libcxx/include/locale b/libcxx/include/locale
index 65b1200df061be..8421dc696106a6 100644
--- a/libcxx/include/locale
+++ b/libcxx/include/locale
@@ -207,6 +207,7 @@ template <class charT> class messages_byname;
# include <__locale>
# include <__locale_dir/pad_and_output.h>
# include <__memory/unique_ptr.h>
+# include <__new/exceptions.h>
# include <__type_traits/make_unsigned.h>
# include <cerrno>
# include <cstdio>
@@ -214,7 +215,6 @@ template <class charT> class messages_byname;
# include <ctime>
# include <ios>
# include <limits>
-# include <new>
# include <streambuf>
# include <version>
diff --git a/libcxx/include/map b/libcxx/include/map
index 4e964d2265b471..90f807f89bdcf6 100644
--- a/libcxx/include/map
+++ b/libcxx/include/map
@@ -591,6 +591,7 @@ erase_if(multimap<Key, T, Compare, Allocator>& c, Predicate pred); // C++20
# include <__memory/pointer_traits.h>
# include <__memory/unique_ptr.h>
# include <__memory_resource/polymorphic_allocator.h>
+# include <__new/launder.h>
# include <__node_handle>
# include <__ranges/concepts.h>
# include <__ranges/container_compatible_range.h>
@@ -604,7 +605,6 @@ erase_if(multimap<Key, T, Compare, Allocator>& c, Predicate pred); // C++20
# include <__utility/pair.h>
# include <__utility/piecewise_construct.h>
# include <__utility/swap.h>
-# include <new> // for std::launder
# include <stdexcept>
# include <tuple>
# include <version>
diff --git a/libcxx/include/module.modulemap b/libcxx/include/module.modulemap
index 8d862e9f9ba361..4d1f1a727cc3d9 100644
--- a/libcxx/include/module.modulemap
+++ b/libcxx/include/module.modulemap
@@ -1607,7 +1607,11 @@ module std [system] {
module allocate { header "__new/allocate.h" }
module destroying_delete_t { header "__new/destroying_delete_t.h" }
module exceptions { header "__new/exceptions.h" }
- module global_new_delete { header "__new/global_new_delete.h" }
+ module global_new_delete {
+ header "__new/global_new_delete.h"
+
+ export std.new.nothrow_t
+ }
module interference_size { header "__new/interference_size.h" }
module launder { header "__new/launder.h" }
module new_handler { header "__new/new_handler.h" }
diff --git a/libcxx/include/optional b/libcxx/include/optional
index b19c7a21aea372..1556b8b8fd942a 100644
--- a/libcxx/include/optional
+++ b/libcxx/include/optional
@@ -228,7 +228,6 @@ namespace std {
# include <__utility/swap.h>
# include <__verbose_abort>
# include <initializer_list>
-# include <new>
# include <version>
// standard-mandated includes
diff --git a/libcxx/include/stdexcept b/libcxx/include/stdexcept
index b3d805437a02ff..58c55092026a92 100644
--- a/libcxx/include/stdexcept
+++ b/libcxx/include/stdexcept
@@ -284,6 +284,7 @@ _LIBCPP_END_NAMESPACE_STD
# include <cstdlib>
# include <exception>
# include <iosfwd>
+# include <new>
# endif
#endif // 0
diff --git a/libcxx/include/unordered_map b/libcxx/include/unordered_map
index 5d5979b28ff0e6..e55b7b7ef14036 100644
--- a/libcxx/include/unordered_map
+++ b/libcxx/include/unordered_map
@@ -602,6 +602,7 @@ template <class Key, class T, class Hash, class Pred, class Alloc>
# include <__memory/pointer_traits.h>
# include <__memory/unique_ptr.h>
# include <__memory_resource/polymorphic_allocator.h>
+# include <__new/launder.h>
# include <__node_handle>
# include <__ranges/concepts.h>
# include <__ranges/container_compatible_range.h>
@@ -615,7 +616,6 @@ template <class Key, class T, class Hash, class Pred, class Alloc>
# include <__type_traits/type_identity.h>
# include <__utility/forward.h>
# include <__utility/pair.h>
-# include <new> // launder
# include <stdexcept>
# include <tuple>
# include <version>
diff --git a/libcxx/include/valarray b/libcxx/include/valarray
index af916096b5ef9d..ef94dde9bc887c 100644
--- a/libcxx/include/valarray
+++ b/libcxx/include/valarray
@@ -364,7 +364,6 @@ template <class T> unspecified2 end(const valarray<T>& v);
# include <__utility/move.h>
# include <__utility/swap.h>
# include <cmath>
-# include <new>
# include <version>
// standard-mandated includes
diff --git a/libcxx/include/variant b/libcxx/include/variant
index 9006e7ca35b093..a139b9890508c2 100644
--- a/libcxx/include/variant
+++ b/libcxx/include/variant
@@ -268,7 +268,6 @@ namespace std {
# include <__verbose_abort>
# include <initializer_list>
# include <limits>
-# include <new>
# include <version>
// standard-mandated includes
diff --git a/libcxx/test/libcxx/transitive_includes/cxx23.csv b/libcxx/test/libcxx/transitive_includes/cxx23.csv
index 838ed411a7e387..17972b84537436 100644
--- a/libcxx/test/libcxx/transitive_includes/cxx23.csv
+++ b/libcxx/test/libcxx/transitive_includes/cxx23.csv
@@ -9,7 +9,6 @@ algorithm cwctype
algorithm initializer_list
algorithm iosfwd
algorithm limits
-algorithm new
algorithm optional
algorithm ratio
algorithm tuple
@@ -18,7 +17,6 @@ any cstdint
any cstring
any initializer_list
any limits
-any new
any typeinfo
any version
array cctype
@@ -58,7 +56,6 @@ bitset cwctype
bitset initializer_list
bitset iosfwd
bitset limits
-bitset new
bitset stdexcept
bitset string
bitset string_view
@@ -86,7 +83,6 @@ ccomplex iosfwd
ccomplex istream
ccomplex limits
ccomplex locale
-ccomplex new
ccomplex ratio
ccomplex sstream
ccomplex stdexcept
@@ -125,7 +121,6 @@ chrono iosfwd
chrono istream
chrono limits
chrono locale
-chrono new
chrono optional
chrono ratio
chrono sstream
@@ -153,7 +148,6 @@ codecvt cwctype
codecvt initializer_list
codecvt iosfwd
codecvt limits
-codecvt new
codecvt stdexcept
codecvt string
codecvt string_view
@@ -184,7 +178,6 @@ complex iosfwd
complex istream
complex limits
complex locale
-complex new
complex ratio
complex sstream
complex stdexcept
@@ -203,7 +196,6 @@ condition_variable cstring
condition_variable ctime
condition_variable initializer_list
condition_variable limits
-condition_variable new
condition_variable ratio
condition_variable typeinfo
condition_variable version
@@ -235,7 +227,6 @@ ctgmath iosfwd
ctgmath istream
ctgmath limits
ctgmath locale
-ctgmath new
ctgmath ratio
ctgmath sstream
ctgmath stdexcept
@@ -256,13 +247,11 @@ deque cwchar
deque cwctype
deque initializer_list
deque limits
-deque new
deque stdexcept
deque tuple
deque version
exception cstdint
exception cstdlib
-exception new
exception typeinfo
exception version
execution version
@@ -290,7 +279,6 @@ experimental/iterator iosfwd
experimental/iterator iterator
experimental/iterator limits
experimental/iterator locale
-experimental/iterator new
experimental/iterator ratio
experimental/iterator stdexcept
experimental/iterator streambuf
@@ -336,7 +324,6 @@ filesystem ios
filesystem iosfwd
filesystem limits
filesystem locale
-filesystem new
filesystem ratio
filesystem stdexcept
filesystem streambuf
@@ -354,7 +341,6 @@ flat_map cwchar
flat_map cwctype
flat_map initializer_list
flat_map limits
-flat_map new
flat_map optional
flat_map stdexcept
flat_map tuple
@@ -376,7 +362,6 @@ format cwctype
format initializer_list
format iosfwd
format limits
-format new
format optional
format stdexcept
format string
@@ -391,7 +376,6 @@ forward_list cwchar
forward_list cwctype
forward_list initializer_list
forward_list limits
-forward_list new
forward_list tuple
forward_list version
fstream bitset
@@ -416,7 +400,6 @@ fstream iosfwd
fstream istream
fstream limits
fstream locale
-fstream new
fstream ratio
fstream stdexcept
fstream streambuf
@@ -434,7 +417,6 @@ functional cwchar
functional cwctype
functional initializer_list
functional limits
-functional new
functional optional
functional stdexcept
functional tuple
@@ -461,7 +443,6 @@ future iosfwd
future istream
future limits
future locale
-future new
future ratio
future sstream
future stdexcept
@@ -490,7 +471,6 @@ iomanip ios
iomanip iosfwd
iomanip limits
iomanip locale
-iomanip new
iomanip ratio
iomanip stdexcept
iomanip streambuf
@@ -515,7 +495,6 @@ ios cwctype
ios initializer_list
ios iosfwd
ios limits
-ios new
ios ratio
ios stdexcept
ios string
@@ -547,7 +526,6 @@ iostream iosfwd
iostream istream
iostream limits
iostream locale
-iostream new
iostream optional
iostream ostream
iostream print
@@ -578,7 +556,7 @@ istream ios
istream iosfwd
istream limits
istream locale
-istream new
+
istream ratio
istream stdexcept
istream streambuf
@@ -598,7 +576,6 @@ iterator cwctype
iterator initializer_list
iterator iosfwd
iterator limits
-iterator new
iterator variant
iterator version
latch climits
@@ -617,7 +594,6 @@ list cwchar
list cwctype
list initializer_list
list limits
-lis...
[truncated]
|
@llvm/pr-subscribers-libcxxabi Author: Nikolas Klauser (philnik777) ChangesPatch is 32.64 KiB, truncated to 20.00 KiB below, full version: https://github.com/llvm/llvm-project/pull/119964.diff 33 Files Affected:
diff --git a/libcxx/include/__algorithm/inplace_merge.h b/libcxx/include/__algorithm/inplace_merge.h
index ad3fe6a7a505d9..e0ccdab993da12 100644
--- a/libcxx/include/__algorithm/inplace_merge.h
+++ b/libcxx/include/__algorithm/inplace_merge.h
@@ -29,7 +29,6 @@
#include <__memory/unique_temporary_buffer.h>
#include <__utility/move.h>
#include <__utility/pair.h>
-#include <new>
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
# pragma GCC system_header
diff --git a/libcxx/include/__algorithm/stable_partition.h b/libcxx/include/__algorithm/stable_partition.h
index 0438f589a39d7a..2ba7239a3a0397 100644
--- a/libcxx/include/__algorithm/stable_partition.h
+++ b/libcxx/include/__algorithm/stable_partition.h
@@ -22,7 +22,6 @@
#include <__type_traits/remove_cvref.h>
#include <__utility/move.h>
#include <__utility/pair.h>
-#include <new>
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
# pragma GCC system_header
diff --git a/libcxx/include/__algorithm/stable_sort.h b/libcxx/include/__algorithm/stable_sort.h
index 43f591ac02b01d..1111f5509bc384 100644
--- a/libcxx/include/__algorithm/stable_sort.h
+++ b/libcxx/include/__algorithm/stable_sort.h
@@ -24,7 +24,6 @@
#include <__type_traits/is_trivially_assignable.h>
#include <__utility/move.h>
#include <__utility/pair.h>
-#include <new>
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
# pragma GCC system_header
diff --git a/libcxx/include/__exception/exception_ptr.h b/libcxx/include/__exception/exception_ptr.h
index c43c005603dd7a..7df46a0e94dce0 100644
--- a/libcxx/include/__exception/exception_ptr.h
+++ b/libcxx/include/__exception/exception_ptr.h
@@ -16,7 +16,6 @@
#include <__memory/construct_at.h>
#include <__type_traits/decay.h>
#include <cstdlib>
-#include <new>
#include <typeinfo>
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
diff --git a/libcxx/include/__functional/function.h b/libcxx/include/__functional/function.h
index 543be05f10f330..06d3225a6e22d3 100644
--- a/libcxx/include/__functional/function.h
+++ b/libcxx/include/__functional/function.h
@@ -38,7 +38,6 @@
#include <__utility/piecewise_construct.h>
#include <__utility/swap.h>
#include <__verbose_abort>
-#include <new>
#include <tuple>
#include <typeinfo>
diff --git a/libcxx/include/__memory/allocator.h b/libcxx/include/__memory/allocator.h
index 1fcaf6402667e1..a7066885a978a6 100644
--- a/libcxx/include/__memory/allocator.h
+++ b/libcxx/include/__memory/allocator.h
@@ -16,13 +16,14 @@
#include <__memory/addressof.h>
#include <__memory/allocate_at_least.h>
#include <__memory/allocator_traits.h>
+#include <__new/allocate.h>
+#include <__new/exceptions.h>
#include <__type_traits/is_const.h>
#include <__type_traits/is_constant_evaluated.h>
#include <__type_traits/is_same.h>
#include <__type_traits/is_void.h>
#include <__type_traits/is_volatile.h>
#include <__utility/forward.h>
-#include <new>
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
# pragma GCC system_header
diff --git a/libcxx/include/__memory/builtin_new_allocator.h b/libcxx/include/__memory/builtin_new_allocator.h
index b1611b12bff03e..cde1a6025a9a70 100644
--- a/libcxx/include/__memory/builtin_new_allocator.h
+++ b/libcxx/include/__memory/builtin_new_allocator.h
@@ -12,7 +12,7 @@
#include <__config>
#include <__cstddef/size_t.h>
#include <__memory/unique_ptr.h>
-#include <new>
+#include <__new/allocate.h>
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
# pragma GCC system_header
diff --git a/libcxx/include/__memory/ranges_construct_at.h b/libcxx/include/__memory/ranges_construct_at.h
index b7523d4ba4b81b..35ed7965100038 100644
--- a/libcxx/include/__memory/ranges_construct_at.h
+++ b/libcxx/include/__memory/ranges_construct_at.h
@@ -22,7 +22,6 @@
#include <__utility/declval.h>
#include <__utility/forward.h>
#include <__utility/move.h>
-#include <new>
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
# pragma GCC system_header
diff --git a/libcxx/include/__memory/ranges_uninitialized_algorithms.h b/libcxx/include/__memory/ranges_uninitialized_algorithms.h
index 4815ac6e5de99e..57a7a4616826e5 100644
--- a/libcxx/include/__memory/ranges_uninitialized_algorithms.h
+++ b/libcxx/include/__memory/ranges_uninitialized_algorithms.h
@@ -25,7 +25,6 @@
#include <__ranges/dangling.h>
#include <__type_traits/remove_reference.h>
#include <__utility/move.h>
-#include <new>
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
# pragma GCC system_header
diff --git a/libcxx/include/__memory/raw_storage_iterator.h b/libcxx/include/__memory/raw_storage_iterator.h
index 2ee4c074d8d337..a81d93275f7c49 100644
--- a/libcxx/include/__memory/raw_storage_iterator.h
+++ b/libcxx/include/__memory/raw_storage_iterator.h
@@ -16,7 +16,6 @@
#include <__iterator/iterator_traits.h>
#include <__memory/addressof.h>
#include <__utility/move.h>
-#include <new>
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
# pragma GCC system_header
diff --git a/libcxx/include/__memory/shared_ptr.h b/libcxx/include/__memory/shared_ptr.h
index 4fa75af4ccc86d..97e4031499ed5e 100644
--- a/libcxx/include/__memory/shared_ptr.h
+++ b/libcxx/include/__memory/shared_ptr.h
@@ -57,7 +57,6 @@
#include <__utility/move.h>
#include <__utility/swap.h>
#include <__verbose_abort>
-#include <new>
#include <typeinfo>
#if _LIBCPP_HAS_ATOMIC_HEADER
# include <__atomic/memory_order.h>
diff --git a/libcxx/include/__memory/uninitialized_algorithms.h b/libcxx/include/__memory/uninitialized_algorithms.h
index 25d192c7718857..9587f01f64d58f 100644
--- a/libcxx/include/__memory/uninitialized_algorithms.h
+++ b/libcxx/include/__memory/uninitialized_algorithms.h
@@ -37,7 +37,6 @@
#include <__utility/exception_guard.h>
#include <__utility/move.h>
#include <__utility/pair.h>
-#include <new>
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
# pragma GCC system_header
diff --git a/libcxx/include/__memory/unique_temporary_buffer.h b/libcxx/include/__memory/unique_temporary_buffer.h
index 4f47c84e2f8dbe..ca6292338c0056 100644
--- a/libcxx/include/__memory/unique_temporary_buffer.h
+++ b/libcxx/include/__memory/unique_temporary_buffer.h
@@ -16,8 +16,9 @@
#include <__cstddef/ptrdiff_t.h>
#include <__memory/allocator.h>
#include <__memory/unique_ptr.h>
+#include <__new/allocate.h>
+#include <__new/global_new_delete.h>
#include <__type_traits/is_constant_evaluated.h>
-#include <new>
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
# pragma GCC system_header
diff --git a/libcxx/include/__memory_resource/polymorphic_allocator.h b/libcxx/include/__memory_resource/polymorphic_allocator.h
index 30fa5c2170d502..2dec9788852c2b 100644
--- a/libcxx/include/__memory_resource/polymorphic_allocator.h
+++ b/libcxx/include/__memory_resource/polymorphic_allocator.h
@@ -15,9 +15,10 @@
#include <__cstddef/max_align_t.h>
#include <__fwd/pair.h>
#include <__memory_resource/memory_resource.h>
+#include <__new/exceptions.h>
+#include <__new/placement_new_delete.h>
#include <__utility/exception_guard.h>
#include <limits>
-#include <new>
#include <tuple>
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
diff --git a/libcxx/include/__ostream/basic_ostream.h b/libcxx/include/__ostream/basic_ostream.h
index ad43c72a3c2eae..6d24171bc0d6cf 100644
--- a/libcxx/include/__ostream/basic_ostream.h
+++ b/libcxx/include/__ostream/basic_ostream.h
@@ -16,6 +16,7 @@
# include <__exception/operations.h>
# include <__memory/shared_ptr.h>
# include <__memory/unique_ptr.h>
+# include <__new/exceptions.h>
# include <__ostream/put_character_sequence.h>
# include <__system_error/error_code.h>
# include <__type_traits/conjunction.h>
@@ -26,7 +27,6 @@
# include <bitset>
# include <ios>
# include <locale>
-# include <new> // for __throw_bad_alloc
# include <streambuf>
# include <string_view>
diff --git a/libcxx/include/__pstl/backends/libdispatch.h b/libcxx/include/__pstl/backends/libdispatch.h
index 701367b505c8b7..4c63c4c8442074 100644
--- a/libcxx/include/__pstl/backends/libdispatch.h
+++ b/libcxx/include/__pstl/backends/libdispatch.h
@@ -23,6 +23,7 @@
#include <__memory/allocator.h>
#include <__memory/construct_at.h>
#include <__memory/unique_ptr.h>
+#include <__new/exceptions.h>
#include <__numeric/reduce.h>
#include <__pstl/backend_fwd.h>
#include <__pstl/cpu_algos/any_of.h>
@@ -38,7 +39,6 @@
#include <__utility/exception_guard.h>
#include <__utility/move.h>
#include <__utility/pair.h>
-#include <new>
#include <optional>
_LIBCPP_PUSH_MACROS
diff --git a/libcxx/include/__pstl/cpu_algos/transform_reduce.h b/libcxx/include/__pstl/cpu_algos/transform_reduce.h
index e9f622d832cd5c..abd9d42a6f2e65 100644
--- a/libcxx/include/__pstl/cpu_algos/transform_reduce.h
+++ b/libcxx/include/__pstl/cpu_algos/transform_reduce.h
@@ -20,7 +20,6 @@
#include <__type_traits/is_arithmetic.h>
#include <__type_traits/is_execution_policy.h>
#include <__utility/move.h>
-#include <new>
#include <optional>
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
diff --git a/libcxx/include/__pstl/handle_exception.h b/libcxx/include/__pstl/handle_exception.h
index 57dfcfde4554f8..3b5fca86902b0a 100644
--- a/libcxx/include/__pstl/handle_exception.h
+++ b/libcxx/include/__pstl/handle_exception.h
@@ -10,9 +10,9 @@
#define _LIBCPP___PSTL_HANDLE_EXCEPTION_H
#include <__config>
+#include <__new/exceptions.h>
#include <__utility/forward.h>
#include <__utility/move.h>
-#include <new> // __throw_bad_alloc
#include <optional>
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
diff --git a/libcxx/include/__utility/no_destroy.h b/libcxx/include/__utility/no_destroy.h
index 8edd194577d7c7..16f424ae119c4b 100644
--- a/libcxx/include/__utility/no_destroy.h
+++ b/libcxx/include/__utility/no_destroy.h
@@ -10,9 +10,9 @@
#define _LIBCPP___UTILITY_NO_DESTROY_H
#include <__config>
+#include <__new/placement_new_delete.h>
#include <__type_traits/is_constant_evaluated.h>
#include <__utility/forward.h>
-#include <new>
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
# pragma GCC system_header
diff --git a/libcxx/include/__utility/small_buffer.h b/libcxx/include/__utility/small_buffer.h
index 405c0aed459632..ff6e7e76f14f52 100644
--- a/libcxx/include/__utility/small_buffer.h
+++ b/libcxx/include/__utility/small_buffer.h
@@ -13,12 +13,13 @@
#include <__cstddef/byte.h>
#include <__cstddef/size_t.h>
#include <__memory/construct_at.h>
+#include <__new/allocate.h>
+#include <__new/launder.h>
#include <__type_traits/decay.h>
#include <__type_traits/is_trivially_constructible.h>
#include <__type_traits/is_trivially_destructible.h>
#include <__utility/exception_guard.h>
#include <__utility/forward.h>
-#include <new>
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
# pragma GCC system_header
diff --git a/libcxx/include/exception b/libcxx/include/exception
index f0eaba1295fa3d..6565f1b4641d1d 100644
--- a/libcxx/include/exception
+++ b/libcxx/include/exception
@@ -93,6 +93,7 @@ template <class E> void rethrow_if_nested(const E& e);
# if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
# include <cstddef>
# include <cstdlib>
+# include <new>
# include <type_traits>
# endif
#endif // 0
diff --git a/libcxx/include/future b/libcxx/include/future
index dacf2c10a1990b..3a612d80bc85c6 100644
--- a/libcxx/include/future
+++ b/libcxx/include/future
@@ -407,7 +407,6 @@ template <class R, class Alloc> struct uses_allocator<packaged_task<R>, Alloc>;
# include <__utility/forward.h>
# include <__utility/move.h>
# include <__utility/swap.h>
-# include <new>
# include <stdexcept>
# include <tuple>
# include <version>
diff --git a/libcxx/include/locale b/libcxx/include/locale
index 65b1200df061be..8421dc696106a6 100644
--- a/libcxx/include/locale
+++ b/libcxx/include/locale
@@ -207,6 +207,7 @@ template <class charT> class messages_byname;
# include <__locale>
# include <__locale_dir/pad_and_output.h>
# include <__memory/unique_ptr.h>
+# include <__new/exceptions.h>
# include <__type_traits/make_unsigned.h>
# include <cerrno>
# include <cstdio>
@@ -214,7 +215,6 @@ template <class charT> class messages_byname;
# include <ctime>
# include <ios>
# include <limits>
-# include <new>
# include <streambuf>
# include <version>
diff --git a/libcxx/include/map b/libcxx/include/map
index 4e964d2265b471..90f807f89bdcf6 100644
--- a/libcxx/include/map
+++ b/libcxx/include/map
@@ -591,6 +591,7 @@ erase_if(multimap<Key, T, Compare, Allocator>& c, Predicate pred); // C++20
# include <__memory/pointer_traits.h>
# include <__memory/unique_ptr.h>
# include <__memory_resource/polymorphic_allocator.h>
+# include <__new/launder.h>
# include <__node_handle>
# include <__ranges/concepts.h>
# include <__ranges/container_compatible_range.h>
@@ -604,7 +605,6 @@ erase_if(multimap<Key, T, Compare, Allocator>& c, Predicate pred); // C++20
# include <__utility/pair.h>
# include <__utility/piecewise_construct.h>
# include <__utility/swap.h>
-# include <new> // for std::launder
# include <stdexcept>
# include <tuple>
# include <version>
diff --git a/libcxx/include/module.modulemap b/libcxx/include/module.modulemap
index 8d862e9f9ba361..4d1f1a727cc3d9 100644
--- a/libcxx/include/module.modulemap
+++ b/libcxx/include/module.modulemap
@@ -1607,7 +1607,11 @@ module std [system] {
module allocate { header "__new/allocate.h" }
module destroying_delete_t { header "__new/destroying_delete_t.h" }
module exceptions { header "__new/exceptions.h" }
- module global_new_delete { header "__new/global_new_delete.h" }
+ module global_new_delete {
+ header "__new/global_new_delete.h"
+
+ export std.new.nothrow_t
+ }
module interference_size { header "__new/interference_size.h" }
module launder { header "__new/launder.h" }
module new_handler { header "__new/new_handler.h" }
diff --git a/libcxx/include/optional b/libcxx/include/optional
index b19c7a21aea372..1556b8b8fd942a 100644
--- a/libcxx/include/optional
+++ b/libcxx/include/optional
@@ -228,7 +228,6 @@ namespace std {
# include <__utility/swap.h>
# include <__verbose_abort>
# include <initializer_list>
-# include <new>
# include <version>
// standard-mandated includes
diff --git a/libcxx/include/stdexcept b/libcxx/include/stdexcept
index b3d805437a02ff..58c55092026a92 100644
--- a/libcxx/include/stdexcept
+++ b/libcxx/include/stdexcept
@@ -284,6 +284,7 @@ _LIBCPP_END_NAMESPACE_STD
# include <cstdlib>
# include <exception>
# include <iosfwd>
+# include <new>
# endif
#endif // 0
diff --git a/libcxx/include/unordered_map b/libcxx/include/unordered_map
index 5d5979b28ff0e6..e55b7b7ef14036 100644
--- a/libcxx/include/unordered_map
+++ b/libcxx/include/unordered_map
@@ -602,6 +602,7 @@ template <class Key, class T, class Hash, class Pred, class Alloc>
# include <__memory/pointer_traits.h>
# include <__memory/unique_ptr.h>
# include <__memory_resource/polymorphic_allocator.h>
+# include <__new/launder.h>
# include <__node_handle>
# include <__ranges/concepts.h>
# include <__ranges/container_compatible_range.h>
@@ -615,7 +616,6 @@ template <class Key, class T, class Hash, class Pred, class Alloc>
# include <__type_traits/type_identity.h>
# include <__utility/forward.h>
# include <__utility/pair.h>
-# include <new> // launder
# include <stdexcept>
# include <tuple>
# include <version>
diff --git a/libcxx/include/valarray b/libcxx/include/valarray
index af916096b5ef9d..ef94dde9bc887c 100644
--- a/libcxx/include/valarray
+++ b/libcxx/include/valarray
@@ -364,7 +364,6 @@ template <class T> unspecified2 end(const valarray<T>& v);
# include <__utility/move.h>
# include <__utility/swap.h>
# include <cmath>
-# include <new>
# include <version>
// standard-mandated includes
diff --git a/libcxx/include/variant b/libcxx/include/variant
index 9006e7ca35b093..a139b9890508c2 100644
--- a/libcxx/include/variant
+++ b/libcxx/include/variant
@@ -268,7 +268,6 @@ namespace std {
# include <__verbose_abort>
# include <initializer_list>
# include <limits>
-# include <new>
# include <version>
// standard-mandated includes
diff --git a/libcxx/test/libcxx/transitive_includes/cxx23.csv b/libcxx/test/libcxx/transitive_includes/cxx23.csv
index 838ed411a7e387..17972b84537436 100644
--- a/libcxx/test/libcxx/transitive_includes/cxx23.csv
+++ b/libcxx/test/libcxx/transitive_includes/cxx23.csv
@@ -9,7 +9,6 @@ algorithm cwctype
algorithm initializer_list
algorithm iosfwd
algorithm limits
-algorithm new
algorithm optional
algorithm ratio
algorithm tuple
@@ -18,7 +17,6 @@ any cstdint
any cstring
any initializer_list
any limits
-any new
any typeinfo
any version
array cctype
@@ -58,7 +56,6 @@ bitset cwctype
bitset initializer_list
bitset iosfwd
bitset limits
-bitset new
bitset stdexcept
bitset string
bitset string_view
@@ -86,7 +83,6 @@ ccomplex iosfwd
ccomplex istream
ccomplex limits
ccomplex locale
-ccomplex new
ccomplex ratio
ccomplex sstream
ccomplex stdexcept
@@ -125,7 +121,6 @@ chrono iosfwd
chrono istream
chrono limits
chrono locale
-chrono new
chrono optional
chrono ratio
chrono sstream
@@ -153,7 +148,6 @@ codecvt cwctype
codecvt initializer_list
codecvt iosfwd
codecvt limits
-codecvt new
codecvt stdexcept
codecvt string
codecvt string_view
@@ -184,7 +178,6 @@ complex iosfwd
complex istream
complex limits
complex locale
-complex new
complex ratio
complex sstream
complex stdexcept
@@ -203,7 +196,6 @@ condition_variable cstring
condition_variable ctime
condition_variable initializer_list
condition_variable limits
-condition_variable new
condition_variable ratio
condition_variable typeinfo
condition_variable version
@@ -235,7 +227,6 @@ ctgmath iosfwd
ctgmath istream
ctgmath limits
ctgmath locale
-ctgmath new
ctgmath ratio
ctgmath sstream
ctgmath stdexcept
@@ -256,13 +247,11 @@ deque cwchar
deque cwctype
deque initializer_list
deque limits
-deque new
deque stdexcept
deque tuple
deque version
exception cstdint
exception cstdlib
-exception new
exception typeinfo
exception version
execution version
@@ -290,7 +279,6 @@ experimental/iterator iosfwd
experimental/iterator iterator
experimental/iterator limits
experimental/iterator locale
-experimental/iterator new
experimental/iterator ratio
experimental/iterator stdexcept
experimental/iterator streambuf
@@ -336,7 +324,6 @@ filesystem ios
filesystem iosfwd
filesystem limits
filesystem locale
-filesystem new
filesystem ratio
filesystem stdexcept
filesystem streambuf
@@ -354,7 +341,6 @@ flat_map cwchar
flat_map cwctype
flat_map initializer_list
flat_map limits
-flat_map new
flat_map optional
flat_map stdexcept
flat_map tuple
@@ -376,7 +362,6 @@ format cwctype
format initializer_list
format iosfwd
format limits
-format new
format optional
format stdexcept
format string
@@ -391,7 +376,6 @@ forward_list cwchar
forward_list cwctype
forward_list initializer_list
forward_list limits
-forward_list new
forward_list tuple
forward_list version
fstream bitset
@@ -416,7 +400,6 @@ fstream iosfwd
fstream istream
fstream limits
fstream locale
-fstream new
fstream ratio
fstream stdexcept
fstream streambuf
@@ -434,7 +417,6 @@ functional cwchar
functional cwctype
functional initializer_list
functional limits
-functional new
functional optional
functional stdexcept
functional tuple
@@ -461,7 +443,6 @@ future iosfwd
future istream
future limits
future locale
-future new
future ratio
future sstream
future stdexcept
@@ -490,7 +471,6 @@ iomanip ios
iomanip iosfwd
iomanip limits
iomanip locale
-iomanip new
iomanip ratio
iomanip stdexcept
iomanip streambuf
@@ -515,7 +495,6 @@ ios cwctype
ios initializer_list
ios iosfwd
ios limits
-ios new
ios ratio
ios stdexcept
ios string
@@ -547,7 +526,6 @@ iostream iosfwd
iostream istream
iostream limits
iostream locale
-iostream new
iostream optional
iostream ostream
iostream print
@@ -578,7 +556,7 @@ istream ios
istream iosfwd
istream limits
istream locale
-istream new
+
istream ratio
istream stdexcept
istream streambuf
@@ -598,7 +576,6 @@ iterator cwctype
iterator initializer_list
iterator iosfwd
iterator limits
-iterator new
iterator variant
iterator version
latch climits
@@ -617,7 +594,6 @@ list cwchar
list cwctype
list initializer_list
list limits
-lis...
[truncated]
|
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.