contrib/frozen/079f73cc5c6413127d47f325cbb34a607e2cb030.patch

38 lines
1.4 KiB
Diff

From 079f73cc5c6413127d47f325cbb34a607e2cb030 Mon Sep 17 00:00:00 2001
From: serge-sans-paille <serge.guelton@telecom-bretagne.eu>
Date: Fri, 16 Dec 2022 22:58:51 +0100
Subject: [PATCH] Workaround gcc 11 limitation
For some reason, gcc sees a constexpr violation here. Trust clang and msvc on this.
---
include/frozen/unordered_set.h | 2 +-
tests/test_unordered_set.cpp | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/include/frozen/unordered_set.h b/include/frozen/unordered_set.h
index 4d16df9..196ea50 100644
--- a/include/frozen/unordered_set.h
+++ b/include/frozen/unordered_set.h
@@ -105,7 +105,7 @@ class unordered_set {
/* lookup */
template <class KeyType, class Hasher, class Equal>
constexpr std::size_t count(KeyType const &key, Hasher const &hash, Equal const &equal) const {
- auto const k = lookup(key, hash);
+ auto const & k = lookup(key, hash);
return equal(k, key);
}
template <class KeyType>
diff --git a/tests/test_unordered_set.cpp b/tests/test_unordered_set.cpp
index e90a0d4..042c1a8 100644
--- a/tests/test_unordered_set.cpp
+++ b/tests/test_unordered_set.cpp
@@ -65,7 +65,7 @@ TEST_CASE("tripleton str frozen unordered set", "[unordered set]") {
constexpr auto max_size = ze_set.max_size();
REQUIRE(max_size == 3);
- constexpr auto nocount = ze_set.count(4);
+ const auto nocount = ze_set.count(4);
REQUIRE(nocount == 0);
constexpr auto count = ze_set.count(1);