diff --git a/CMakeLists.txt b/CMakeLists.txt index 5d8d7ed..8b582c8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,6 +1,6 @@ cmake_minimum_required(VERSION 3.20) include(cmake/color.cmake) -set(BLT_VERSION 0.18.29) +set(BLT_VERSION 0.18.30) set(BLT_TEST_VERSION 0.0.1) set(BLT_TARGET BLT) diff --git a/include/blt/std/expected.h b/include/blt/std/expected.h index 3fa4f9a..bf42cd4 100644 --- a/include/blt/std/expected.h +++ b/include/blt/std/expected.h @@ -113,7 +113,7 @@ namespace blt }; - template> + template, bool = std::is_default_constructible_v> class expected { protected: @@ -131,10 +131,6 @@ namespace blt std::is_constructible_v, expected&> || std::is_constructible_v, expected> || std::is_constructible_v, const expected&> || std::is_constructible_v, const expected>; public: - template, bool> = true> - constexpr expected() noexcept: v(T()) - {} - // constexpr expected(const expected& copy) = delete; constexpr expected(const expected& copy): expected::v(copy.v) {} @@ -371,10 +367,34 @@ namespace blt }; template - class expected : public expected + class expected : public expected { public: - using expected::expected; + using expected::expected; + + constexpr expected() noexcept: expected, false>(T()) + {} + }; + + template + class expected : public expected + { + public: + using expected::expected; + + constexpr expected() noexcept: expected, false>(T()) + {} + + constexpr expected(const expected& copy) = delete; + + expected& operator=(const expected& copy) = delete; + }; + + template + class expected : public expected + { + public: + using expected::expected; constexpr expected(const expected& copy) = delete; diff --git a/libraries/parallel-hashmap b/libraries/parallel-hashmap index d88c5e1..8a889d3 160000 --- a/libraries/parallel-hashmap +++ b/libraries/parallel-hashmap @@ -1 +1 @@ -Subproject commit d88c5e15079047777b418132ece5879e7c9aaa2b +Subproject commit 8a889d3699b3c09ade435641fb034427f3fd12b6