clang-tidy неправильно заменяет параметр шаблона в typedef

Я запустил clang-tidy для выбора моей кодовой базы и заметил несколько определений типов, включая некорректно замененные параметры шаблона на конкретные типы. Мне удалось повторить по крайней мере одну из этих проблем с этим файлом примера, test.cc:

template <typename T>
struct Test
{
typedef T test_1;
typedef T test_2;
typedef T test_3;
typedef T test_4;
typedef T test_5;
typedef T test_6;
typedef T test_7;
typedef T test_8;
typedef T test_9;
typedef T test_10;
typedef T test_11;
};

int main()
{
Test<int> test;

return 0;
}

Бег clang-tidy-6.0 -checks=modernize* test.cc в этом файле выдается предупреждение о замене всех typedefс usings, но, как ни странно, третий и четвертый typedefs заменяют T с int:

/home/john/test/test.cc:6:2: warning: use 'using' instead of 'typedef' [modernize-use-using]
typedef T test_3;
^~~~~~~~~~~~~~~~~
using test_3 = int
/home/john/test/test.cc:7:2: warning: use 'using' instead of 'typedef' [modernize-use-using]
typedef T test_4;
^~~~~~~~~~~~~~~~~
using test_4 = int

Все остальные имеют T, как и ожидалось. По какой-то причине такое поведение, по-видимому, происходит только при наличии 11 или более типов определений.

Это известная ошибка? Есть ли обходной путь, чтобы я мог clang-tidy автоматически применять исправления без неправильной замены набора typedefs?

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector