diff --git a/dev-cpp/doctest/doctest-2.4.8.ebuild b/dev-cpp/doctest/doctest-2.4.8-r1.ebuild similarity index 88% rename from dev-cpp/doctest/doctest-2.4.8.ebuild rename to dev-cpp/doctest/doctest-2.4.8-r1.ebuild index fa60bdec8854f..e611f524f5fa5 100644 --- a/dev-cpp/doctest/doctest-2.4.8.ebuild +++ b/dev-cpp/doctest/doctest-2.4.8-r1.ebuild @@ -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) diff --git a/dev-cpp/doctest/files/doctest-2.4.8-move-only-types-fix.patch b/dev-cpp/doctest/files/doctest-2.4.8-move-only-types-fix.patch new file mode 100644 index 0000000000000..1a03432826855 --- /dev/null +++ b/dev-cpp/doctest/files/doctest-2.4.8-move-only-types-fix.patch @@ -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(in)) ++ : lhs(static_cast(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 +- Expression_lhs operator<<(const L &&operand) { +- return Expression_lhs(doctest::detail::forward(operand), m_at); ++ Expression_lhs operator<<(L&& operand) { ++ return Expression_lhs(static_cast(operand), m_at); + } + + template ::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(in)) ++ : lhs(static_cast(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 +- Expression_lhs operator<<(const L &&operand) { +- return Expression_lhs(doctest::detail::forward(operand), m_at); ++ Expression_lhs operator<<(L&& operand) { ++ return Expression_lhs(static_cast(operand), m_at); + } + + template ::value,void >::type* = nullptr> +-- +2.35.1 +