[devel] gcc10: missing 'typename' prior to dependent type name 'iterator_traits<iterator_t<_Base>>::iterator_category'

Денис Назаров nenderus на altlinux.org
Сб Июл 3 20:35:28 MSK 2021


Здравствуйте.


После обновления в Sisyphus gcc10 до версии 10.3.1 перестал собираться 
rpcs3 с такой ошибкой:


In file included from /usr/src/RPM/BUILD/rpcs3-0.0.17/3rdparty/yaml-cpp/src/convert.cpp:1:
In file included from /usr/bin/../lib64/gcc/x86_64-alt-linux/10/../../../../include/c++/10/algorithm:64:
In file included from /usr/bin/../lib64/gcc/x86_64-alt-linux/10/../../../../include/c++/10/bits/ranges_algo.h:35:
In file included from /usr/bin/../lib64/gcc/x86_64-alt-linux/10/../../../../include/c++/10/bits/ranges_algobase.h:38:
/usr/bin/../lib64/gcc/x86_64-alt-linux/10/../../../../include/c++/10/ranges:3528:19: error: missing 'typename' prior to dependent type name 'iterator_traits<iterator_t<_Base>>::iterator_category'
             using _Cat = iterator_traits<iterator_t<_Base>>::iterator_category;
                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~



Получается как будто ошибка в файле /usr/include/c++/10/ranges на 3528 строке.


И действительно, если в hasher данную строку заменить с

using _Cat = iterator_traits<iterator_t<_Base>>::iterator_category;

на

using _Cat = typename iterator_traits<iterator_t<_Base>>::iterator_category;

то локально всё корректно собирается и работает.


Подскажите пожалуйста, как правильно можно исправить данную ситуацию?

----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : OpenPGP_signature
Тип     : application/pgp-signature
Размер  : 203 байтов
Описание: OpenPGP digital signature
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20210703/4e388c2c/attachment.bin>


Подробная информация о списке рассылки Devel