mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-09-24 04:59:14 -07:00
dev-cpp/doctest: fix tests with move-only types
This is a fix of a bug which affects mail-filter/rspamd-3.{1,2}. The
patch is derived from upstream commit ce13bc44b99c ("Fix move-only types
failing to decompose correctly (#634)").
Upstream-PR: https://github.com/doctest/doctest/pull/634
Bug: https://bugs.gentoo.org/830624
Signed-off-by: Petr Vaněk <arkamar@atlas.cz>
Signed-off-by: Joonas Niilola <juippis@gentoo.org>
This commit is contained in:
committed by
Joonas Niilola
parent
3c3fc95f23
commit
70fc26d37b
@@ -15,6 +15,10 @@ KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
|
||||
IUSE="test"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}/${P}-move-only-types-fix.patch" # bug 830624
|
||||
)
|
||||
|
||||
src_configure() {
|
||||
local mycmakeargs=(
|
||||
-DDOCTEST_WITH_TESTS=$(usex test)
|
||||
@@ -0,0 +1,56 @@
|
||||
This patch is derived from upstream commit ce13bc44b99c ("Fix move-only
|
||||
types failing to decompose correctly (#634)").
|
||||
|
||||
Upstream-PR: https://github.com/doctest/doctest/pull/634
|
||||
|
||||
diff --git a/doctest/doctest.h b/doctest/doctest.h
|
||||
index d25f526..31096ff 100644
|
||||
--- a/doctest/doctest.h
|
||||
+++ b/doctest/doctest.h
|
||||
@@ -1320,7 +1320,7 @@ DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Wunused-comparison")
|
||||
assertType::Enum m_at;
|
||||
|
||||
explicit Expression_lhs(L&& in, assertType::Enum at)
|
||||
- : lhs(doctest::detail::forward<L>(in))
|
||||
+ : lhs(static_cast<L&&>(in))
|
||||
, m_at(at) {}
|
||||
|
||||
DOCTEST_NOINLINE operator Result() {
|
||||
@@ -1394,8 +1394,8 @@ DOCTEST_CLANG_SUPPRESS_WARNING_POP
|
||||
// https://github.com/catchorg/Catch2/issues/870
|
||||
// https://github.com/catchorg/Catch2/issues/565
|
||||
template <typename L>
|
||||
- Expression_lhs<const L> operator<<(const L &&operand) {
|
||||
- return Expression_lhs<const L>(doctest::detail::forward<const L>(operand), m_at);
|
||||
+ Expression_lhs<L> operator<<(L&& operand) {
|
||||
+ return Expression_lhs<L>(static_cast<L&&>(operand), m_at);
|
||||
}
|
||||
|
||||
template <typename L,typename enable_if<!doctest::detail::is_rvalue_reference<L>::value,void >::type* = nullptr>
|
||||
diff --git a/doctest/parts/doctest_fwd.h b/doctest/parts/doctest_fwd.h
|
||||
index b0d786f..ff9fed0 100644
|
||||
--- a/doctest/parts/doctest_fwd.h
|
||||
+++ b/doctest/parts/doctest_fwd.h
|
||||
@@ -1317,7 +1317,7 @@ DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Wunused-comparison")
|
||||
assertType::Enum m_at;
|
||||
|
||||
explicit Expression_lhs(L&& in, assertType::Enum at)
|
||||
- : lhs(doctest::detail::forward<L>(in))
|
||||
+ : lhs(static_cast<L&&>(in))
|
||||
, m_at(at) {}
|
||||
|
||||
DOCTEST_NOINLINE operator Result() {
|
||||
@@ -1391,8 +1391,8 @@ DOCTEST_CLANG_SUPPRESS_WARNING_POP
|
||||
// https://github.com/catchorg/Catch2/issues/870
|
||||
// https://github.com/catchorg/Catch2/issues/565
|
||||
template <typename L>
|
||||
- Expression_lhs<const L> operator<<(const L &&operand) {
|
||||
- return Expression_lhs<const L>(doctest::detail::forward<const L>(operand), m_at);
|
||||
+ Expression_lhs<L> operator<<(L&& operand) {
|
||||
+ return Expression_lhs<L>(static_cast<L&&>(operand), m_at);
|
||||
}
|
||||
|
||||
template <typename L,typename enable_if<!doctest::detail::is_rvalue_reference<L>::value,void >::type* = nullptr>
|
||||
--
|
||||
2.35.1
|
||||
|
||||
Reference in New Issue
Block a user