|
|
|
|
|
by locknitpicker
75 days ago
|
|
> I am somewhat dismayed that contracts were accepted. It feels like piling on ever more complexity to a language which has already surpassed its complexity budget, and given that the feature comes with its own set of footguns I'm not sure that it is justified. I don't think this opinion is well informed. Contracts are a killer feature that allows implementing static code analysis that covers error handling and verifiable correct state. This comes for free in components you consume in your code. https://herbsutter.com/2018/07/02/trip-report-summer-iso-c-s... Asserting that no one wants their code to correctly handle errors is a bold claim. |
|
Modern C++ contracts are being sold as being purely for debugging. You can't rely on contracts like an assert to catch problems, which is an intentional part of the design of contracts