ideas icon indicating copy to clipboard operation
ideas copied to clipboard

Сделать слово `requires` контекстно-зависимым

Open leha-bot opened this issue 4 years ago • 2 comments

В 20-ку концепты принесли новый ключевик requires, который, по идее, используется только в определенных местах (в декларации функции, в описании шаблона, етц - поправьте, список сумбурно привел)

Однако это приводит к тому, что существующий код ломается, см например ,сюда:

https://github.com/rpm-software-management/createrepo_c/issues/181

(Где-то это уже поменяли в недрах RPM/libsolv, но это привело к нарушению обратной совместимости и костылям, см например тут: https://github.com/openSUSE/libsolv/pull/477/files )

leha-bot avatar Dec 29 '21 22:12 leha-bot

Можно разжаловать requires из группы keywords в группу identifiers with special meaning, судя по описанию это то что нужно

https://en.cppreference.com/w/cpp/keyword

Izaron avatar Dec 31 '21 12:12 Izaron

В отличие от override/final/module/import requires используется в тех местах, где может встречаться обычный идентификатор, поэтому его нельзя сделать контекстно-зависимым.

AndreyG avatar Dec 31 '21 17:12 AndreyG