[C++26][言語機能] 契約プログラミング
/lang/future/contract-based_programming.mdを最新仕様に合わせて/lang/cpp26以下に持ってきてください
こちらは、/lang/future/contract-based_programming.mdの方は削除してしまって良いのでしょうか?
とりあえず新しく作ってみました。確認お願いします。
対応ありがとうございます。
こちらは、
/lang/future/contract-based_programming.mdの方は削除してしまって良いのでしょうか?
はい、削除してしまって大丈夫です。
仕様説明としてはかなり簡略化されてしまっているように思いますので、多くの追記が必要になるかと思います。 たとえば、以下のようなことを書いていく必要があります。
- pre / postがoverrideなどと同格の文脈依存キーワードであるということ (変数名などに使ってもよい)
- preに指定する条件式はパラメータを必ずしも使用しなくてもよいこと
- postのresult-name-introducerが省略可能なものであり、戻り値を必ずしも使用しなくても、
void clear() post(empty());のような指定が可能であるということ
また、ライブラリ側の対応も必要になります。
ill-formedなどの用語に対する訳語は、以下のページで「不適格」のように定めていますので、そちらも参照ください。 https://cpprefjp.github.io/working_style.html
分かりました。 内容を追加しておきます。
このような感じでいかがでしょうか?
対応ありがとうございます。 私は提案文書をそれほど読み込めていないのであとで追記するかもしれませんが、一旦これでOKかと思います。
あとはライブラリ側も対応が必要ですが、それは別の人に任せるのでもだいじょうぶです
できそうであればライブラリのほうも対応したいと考えています。
ライブラリは何か変更があるのでしょうか?
細かくは見れてないですが、以前の提案で一時的に入ったライブラリとしては、まずヘッダファイル名が異なります。
<contract> → <contracts>に変更し、/reference.mdにヘッダファイルを掲載し、<contracts>ヘッダの言語バージョンをC++26に変更していく必要がまずあります。
そのうえで、ライブラリの中身についても以前の提案と異なるところは対応していくことになります。
とりあえずいったん移しました。