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

Patrick Palka ppalka@gcc.gnu.org
Mon Jun 7 15:24:27 GMT 2021


https://gcc.gnu.org/g:23fa1e7eab7680ae0488b4c8802b0bcd8f78425d

commit r11-8519-g23fa1e7eab7680ae0488b4c8802b0bcd8f78425d
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.
    
    (cherry picked from commit 5e2e15f212e2458a1258b8c856895c755460bc6b)

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 ae3cd7fbc99..0dd4fb6a9a5 100644
--- a/libstdc++-v3/include/std/ranges
+++ b/libstdc++-v3/include/std/ranges
@@ -3463,7 +3463,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