Closed John-Jasper-Doe closed 1 year ago
Нужные слова уже были в черновике стандарта. В https://wg21.link/p2679 расширили требования на std::start_lifetime_as_array, в том числе и требования по выравниванию и размеру памяти.
Дальше сложнее: проверки выравниваний и размеров в разных компиляторах реализуются по разному. Санийтайзеры уже должны ловить выходы за пределы выделенной памяти. Над более прогрессивными методами думают все разработчики компиляторов...
Хотелось иметь возможность получения ошибки/предупреждения на этапе компиляции если структура является выровненной, а реальный размер отличается и нет никаких
#pragm
и__attribute__
.Например: