C ++ 2a контрактное программирование и компиляторы - PullRequest
0 голосов
/ 11 декабря 2018

Я заинтересован в изучении недавно принятого контрактного программирования для C ++ 20 для целей обучения и исследования.

Поскольку я ищу поддержку компилятора, яразочарован не найти ни одного.И gcc, и clang совершенно ясно, что они не поддерживают эту функцию в своем режиме --std=c++2a.

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

Я ожидал, что комитет C ++ рассмотрит толькофункции, которые зарекомендовали себя в полевых условиях, как правило, с помощью конкретных расширений компилятора или цели.Утверждение этой функции для C ++ 20 предполагает, что эта функция должна быть доступна где-то.Но до сих пор я не смог его найти.

Есть ли способ экспериментировать с программированием контрактов на C ++ в настоящее время?даже используя набор специфичных для компилятора расширений?

1 Ответ

0 голосов
/ 11 декабря 2018

Возможно, вы захотите попробовать эту экспериментальную реализацию контрактов в Clang.

...