diff options
Diffstat (limited to 'libraries/nlohmann_json/patches/1_6cec5aefc97ad219b6fd5a4132f88f7c8f6800ee.patch')
-rw-r--r-- | libraries/nlohmann_json/patches/1_6cec5aefc97ad219b6fd5a4132f88f7c8f6800ee.patch | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/libraries/nlohmann_json/patches/1_6cec5aefc97ad219b6fd5a4132f88f7c8f6800ee.patch b/libraries/nlohmann_json/patches/1_6cec5aefc97ad219b6fd5a4132f88f7c8f6800ee.patch new file mode 100644 index 0000000000..6f133312ee --- /dev/null +++ b/libraries/nlohmann_json/patches/1_6cec5aefc97ad219b6fd5a4132f88f7c8f6800ee.patch @@ -0,0 +1,55 @@ +From 6cec5aefc97ad219b6fd5a4132f88f7c8f6800ee Mon Sep 17 00:00:00 2001 +From: Sergei Trofimovich <slyich@gmail.com> +Date: Wed, 8 Mar 2023 11:31:56 +0000 +Subject: [PATCH] custom allocators: define missing 'rebind' type (#3895) + +--- + tests/src/unit-allocator.cpp | 9 +++++++++ + tests/src/unit-regression2.cpp | 9 +++++++++ + 2 files changed, 18 insertions(+) + +diff --git a/tests/src/unit-allocator.cpp b/tests/src/unit-allocator.cpp +index 76e3b03f10..f2e63552a4 100644 +--- a/tests/src/unit-allocator.cpp ++++ b/tests/src/unit-allocator.cpp +@@ -20,11 +20,20 @@ struct bad_allocator : std::allocator<T> + { + using std::allocator<T>::allocator; + ++ bad_allocator() = default; ++ template<class U> bad_allocator(const bad_allocator<U>& /*unused*/) { } ++ + template<class... Args> + void construct(T* /*unused*/, Args&& ... /*unused*/) + { + throw std::bad_alloc(); + } ++ ++ template <class U> ++ struct rebind ++ { ++ using other = bad_allocator<U>; ++ }; + }; + } // namespace + +diff --git a/tests/src/unit-regression2.cpp b/tests/src/unit-regression2.cpp +index 2bb9b32e51..dbafb436ba 100644 +--- a/tests/src/unit-regression2.cpp ++++ b/tests/src/unit-regression2.cpp +@@ -189,6 +189,15 @@ class my_allocator : public std::allocator<T> + { + public: + using std::allocator<T>::allocator; ++ ++ my_allocator() = default; ++ template<class U> my_allocator(const my_allocator<U>& /*unused*/) { } ++ ++ template <class U> ++ struct rebind ++ { ++ using other = my_allocator<U>; ++ }; + }; + + ///////////////////////////////////////////////////////////////////// |