Tested x86_64-linux. Pushed to trunk. Will backport to gcc-12 too.

-- >8 --

The presence of a template-head on this constructor is a copy & paste
error from the primary template.

libstdc++-v3/ChangeLog:

        PR libstdc++/109182
        * include/std/expected (expected<void>::expected(in_place_t)):
        Remove template-head.
---
 libstdc++-v3/include/std/expected | 9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)

diff --git a/libstdc++-v3/include/std/expected 
b/libstdc++-v3/include/std/expected
index 9a52e2574bf..567a5195e8d 100644
--- a/libstdc++-v3/include/std/expected
+++ b/libstdc++-v3/include/std/expected
@@ -1302,11 +1302,10 @@ namespace __expected
        : _M_unex(std::move(__u).error()), _M_has_value(false)
        { }
 
-      template<typename... _Args>
-       constexpr explicit
-       expected(in_place_t) noexcept
-       : expected()
-       { }
+      constexpr explicit
+      expected(in_place_t) noexcept
+      : expected()
+      { }
 
       template<typename... _Args>
        requires is_constructible_v<_Er, _Args...>
-- 
2.39.2

Reply via email to