[gcc r12-1262] libstdc++: add missing typename for dependent type in ranges::elements_view [PR100900]

Patrick Palka ppalka@gcc.gnu.org
Mon Jun 7 15:20:26 GMT 2021


https://gcc.gnu.org/g:5e2e15f212e2458a1258b8c856895c755460bc6b

commit r12-1262-g5e2e15f212e2458a1258b8c856895c755460bc6b
Author: Avi Kivity <avi@scylladb.com>
Date:   Mon Jun 7 11:19:05 2021 -0400

    libstdc++: add missing typename for dependent type in ranges::elements_view [PR100900]
    
    Clang complains about the missing typename. I believe it's not required
    in a more complete implementation of C++, but it's nicer to support
    less complete implementations.
    
            PR libstdc++/100900
    
    libstdc++-v3/ChangeLog:
    
            * include/std/ranges (elements_view::__iter_cat::_S_iter_cat):
            Add missing typename.

Diff:
---
 libstdc++-v3/include/std/ranges | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libstdc++-v3/include/std/ranges b/libstdc++-v3/include/std/ranges
index 8bf359e477c..220a44e11a8 100644
--- a/libstdc++-v3/include/std/ranges
+++ b/libstdc++-v3/include/std/ranges
@@ -3583,7 +3583,7 @@ namespace views::__adaptor
 	  static auto _S_iter_cat()
 	  {
 	    using _Base = elements_view::_Base<_Const>;
-	    using _Cat = iterator_traits<iterator_t<_Base>>::iterator_category;
+	    using _Cat = typename iterator_traits<iterator_t<_Base>>::iterator_category;
 	    using _Res = decltype((std::get<_Nm>(*std::declval<iterator_t<_Base>>())));
 	    if constexpr (!is_lvalue_reference_v<_Res>)
 	      return input_iterator_tag{};


More information about the Libstdc++-cvs mailing list