cpp-ru / ideas

Идеи по улучшению языка C++ для обсуждения
https://cpp-ru.github.io/proposals
Creative Commons Zero v1.0 Universal
89 stars 0 forks source link

Пометить устаревшим макрос std::assert #341

Open apolukhin opened 3 years ago

apolukhin commented 3 years ago

Перенос предложения: голоса +2, -6 Автор идеи: Игорь Шаповал

На последнем заседании комитета по стандартизации С++ были внедрены в язык контракты. Контракт [[assert]] полностью повторяет макрос assert. Предлагаю в С++20 сделать макрос assert - deprecated. А в С++23 удалить с языка С++. При этом разработчики, которые будут писать на С++23 дефакто будут использовать контракты.

apolukhin commented 3 years ago

Игорь Шаповал, 28 августа 2018, 13:03 yndx-antoshkka Скажите планируется удалять std::assert или нет? Мне кажется это разумно.

apolukhin commented 3 years ago

Не планируется. Макрос очень популярный, подобное дулаение сломает множество кодовых баз. Ну и контракты не попали в C++20, так что замены этому макросу нет