Я заинтересован в изучении недавно принятого контрактного программирования для C ++ 20 для целей обучения и исследования.
Поскольку я ищу поддержку компилятора, яразочарован не найти ни одного.И gcc
, и clang
совершенно ясно, что они не поддерживают эту функцию в своем режиме --std=c++2a
.
Поскольку утверждение получено довольно недавно, я не слишком удивлен, что современные компиляторы не поддерживаютТочная семантика предложена.Что еще более удивительно для меня, так это то, что нет абсолютно ничего, даже расширения, специфичного для компилятора, которое имитировало бы, даже в ограниченном смысле, ту же функцию.
Я ожидал, что комитет C ++ рассмотрит толькофункции, которые зарекомендовали себя в полевых условиях, как правило, с помощью конкретных расширений компилятора или цели.Утверждение этой функции для C ++ 20 предполагает, что эта функция должна быть доступна где-то.Но до сих пор я не смог его найти.
Есть ли способ экспериментировать с программированием контрактов на C ++ в настоящее время?даже используя набор специфичных для компилятора расширений?