себя сделал. Аж два варианта для всяких кейсов, но и сам их использовать не хочу - уж больно мудрено.
А для компилятора - это как два пальца об асфальт.
Но нету...
Может я не понимаю чего?
Или надавить на кого надо?
Пример бы. Какую ошибку можно статически проигнорировать?
[p2593]
P2593R0: Allowing static_assert(false) (by Barry Revzin) (2022-05-21) (Related: GitHub issue) P2593R1: Allowing static_assert(false) (by Barry Revzin) (2023-01-20) (Related: GitHub issue)
Чем вам [[deprecated(message)]] не static_warning? Потому что это единственное предназначение для варнинга, которое я могу придумать
static_note вот так было бы лучше
Ну я через него и делал, но получается не менее двух реализаций для разных кейсов и самое неприятное, что добавляются лишние сущности. На код они не влияют, но пространство имён перегружают. Также реализация через деприкатед может быть ошибкой. То есть все наши static_watning попадают в весь класс деприкатед.
>> То есть все наши static_watning попадают в весь класс деприкатед Единственный допустимый варнинг, который я себе могу представить именно эту семантику и имеет — код нужно переделывать, ибо либо реализация, либо её использование — deprecated. Всё остальное должно выражаться через комментарии, документацию, таски в джире, ошибки компиляции, но никак не через варнинги на компиляции
Даже с этим нельзя согласиться, т.к. деприкатед по смыслу имеет вполне определенный смысл (сорри). Но внедрение в код лишних сущностей только для того чтобы показать этот "деприкатед" это ... Это ерунда какая то!
Есть pragma message но зависит от компилятора
>> Даже с этим нельзя согласиться, т.к. деприкатед по смыслу имеет вполне определенный смысл (сорри) Я не его смысл оспариваю, а допустимость выражения иных смыслов
Представьте себе, что вместо целой кучи варнингов компилятора он при WAll скромно напишет "смотрите документацию". Современный библиотечный код - это в некотором смысле кодогенератор и у него есть свои нюансы общения со своим пользователем.
Вообще вот изначальное сообщение, если вы мне адресовали
Любой варнинг подразумевает переписывание кода (рано или поздно) в такой вариант использования, в котором варнинг исчезнет. Вынужденное переписывание из-за варнинга семантически означает "данное использование устарело". Для выражения этой семантики инструмент уже есть
Обсуждают сегодня