Форматирование в static_assert

yehorror
yehorror

Как один из вариантов - сделать что-то вроде std::format.

static_assert(sizeof(parameter) == sizeof(something), "Size of parameter must be {}", sizeof(something));
8
рейтинг
1 комментарий
oficsu

Мне кажется, что достаточно снять требование на то, чтобы message был string literal и разрешить вторым аргументом передавать любой тип, способный в constexpr-контексте быть приведённым к char const*, в таком случае точно не произойдёт глупости и никто не смешает языковую и библиотечную фичу в кучу, каждый сможет написать свой форматтер, угодный его душе

Правда, возникают вопросы с зависимыми шаблонными параметрами. Так мы сможемdependent_false передать прямо в строку сообщения об ошибке, не уверен, есть ли связанные с этим проблемы

oficsu
Обновлено 
Другие идеи
Группа создана, чтобы собирать предложения к стандарту C++, организовывать их внутренние обсуждения, помогать готовить их для отправки в комитет и защищать на общих собраниях в рабочей группе по С++ Международной организации по стандартизации (ISO).
Все предложения