C++ 2a合同编程和编译器

Cya*_*yan 9 c++ gcc clang contract c++20

我有兴趣研究最近接受的C++ 20合同编程,用于学习和调查目的.

当我正在寻找编译器支持时,我很失望,没有找到任何.双方gccclang都相当明确表示,他们不其内支持此功能--std=c++2a模式.

由于批准是最近的,我不会惊讶于当前的编译器不支持所提出的确切语义.更令我惊讶的是,绝对没有任何东西,即使是特定于编译器的扩展,即使在有限的方式下也会模仿相同的功能.

我期待C++委员会只考虑在现场证明自己的功能,通常是通过编译器或目标特定扩展.批准C++ 20的此功能表明该功能应该可以在某处访问.但到目前为止,我一直无法找到它.

目前有没有办法试验C++合同编程?甚至使用一组特定于编译器的扩展?

r3m*_*n0x 5

您可能想在 Clang 中尝试这种合约的实验性实现。