Skip to content

Commit efbbbf3

Browse files
authored
Merge pull request arximboldi#289 from alex-sparus/remove-cpp20-requirement
Make persist compatible with C++17
2 parents ccb0a91 + 43f26a0 commit efbbbf3

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

44 files changed

+537
-150
lines changed

doc/persist-introduction.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ Dependencies
1515
------------
1616

1717
In addition to the `dependencies <introduction.html#dependencies>`_ of
18-
``immer``, this library makes use of **C++20**, `Boost.Hana
18+
``immer``, this library makes use of **C++17**, `Boost.Hana
1919
<https://boostorg.github.io/hana/>`_, `fmt <https://fmt.dev/>`_ and
2020
`cereal <https://uscilab.github.io/cereal/>`_.
2121

extra/fuzzer/persist/CMakeLists.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@ foreach(_file IN LISTS immer_fuzzers)
66
add_executable(${_target} EXCLUDE_FROM_ALL "${_file}")
77
set_target_properties(${_target} PROPERTIES OUTPUT_NAME ${_output})
88
target_compile_options(${_target} PUBLIC ${immer_fuzzing_engine})
9+
target_compile_options(${_target} PRIVATE ${immer_fuzzing_engine}
10+
-Wno-c++20-designator)
911
target_include_directories(${_target} PRIVATE ../..)
1012
target_link_libraries(${_target} PUBLIC ${immer_fuzzing_engine} immer-dev)
1113
add_dependencies(fuzzers ${_target})

extra/fuzzer/persist/flex-vector.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,8 @@
1818
#include <array>
1919

2020
namespace {
21-
void require_eq(const auto& a, const auto& b)
21+
template <class T>
22+
void require_eq(const T& a, const T& b)
2223
{
2324
if (a != b) {
2425
throw std::runtime_error{

flake.nix

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -200,7 +200,7 @@
200200
"-Dimmer_BUILD_TESTS=ON"
201201
"-Dimmer_BUILD_PERSIST_TESTS=ON"
202202
"-Dimmer_BUILD_EXAMPLES=OFF"
203-
"-DCXX_STANDARD=20"
203+
"-DCXX_STANDARD=17"
204204
];
205205
});
206206
};

immer/extra/cereal/immer_array.hpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ void CEREAL_LOAD_FUNCTION_NAME(Archive& ar, immer::array<T, MemoryPolicy>& m)
1010
{
1111
size_type size;
1212
ar(make_size_tag(size));
13+
m = {};
1314

1415
for (auto i = size_type{}; i < size; ++i) {
1516
T x;

immer/extra/cereal/immer_map.hpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ CEREAL_LOAD_FUNCTION_NAME(Archive& ar, immer::map<K, T, H, E, MP, B>& m)
3333
{
3434
size_type size;
3535
ar(make_size_tag(size));
36+
m = {};
3637

3738
for (auto i = size_type{}; i < size; ++i) {
3839
T x;
@@ -71,6 +72,7 @@ CEREAL_LOAD_FUNCTION_NAME(Archive& ar, immer::map<K, T, H, E, MP, B>& m)
7172
{
7273
size_type size;
7374
ar(make_size_tag(size));
75+
m = {};
7476

7577
for (auto i = size_type{}; i < size; ++i) {
7678
K k;
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ void CEREAL_LOAD_FUNCTION_NAME(Archive& ar, immer::set<T, H, E, MP, B>& m)
1616
{
1717
size_type size;
1818
ar(make_size_tag(size));
19+
m = {};
1920

2021
for (auto i = size_type{}; i < size; ++i) {
2122
T x;
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ void CEREAL_LOAD_FUNCTION_NAME(Archive& ar, immer::table<T, KF, H, E, MP, B>& m)
1717
{
1818
size_type size;
1919
ar(make_size_tag(size));
20+
m = {};
2021

2122
for (auto i = size_type{}; i < size; ++i) {
2223
T x;

immer/extra/cereal/immer_vector.hpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ void CEREAL_LOAD_FUNCTION_NAME(Archive& ar,
1515
{
1616
size_type size;
1717
ar(make_size_tag(size));
18+
m = {};
1819

1920
for (auto i = size_type{}; i < size; ++i) {
2021
T x;
@@ -46,6 +47,7 @@ void CEREAL_LOAD_FUNCTION_NAME(Archive& ar,
4647
{
4748
size_type size;
4849
ar(make_size_tag(size));
50+
m = {};
4951

5052
for (auto i = size_type{}; i < size; ++i) {
5153
T x;

0 commit comments

Comments
 (0)