I intend to raise the topic of system headers during this discussion. Use of contract annotations on C standard library functions would bring clear benefit to C++ programmers, but would require such annotations to be present in system headers. If WG21 adopts a contracts syntax that is not amenable to C or WG14, that would create the potential for WG14 to adopt a different syntax for C (at some point) either for a similar contracts facility or for contract-like features like Clang's nullability attributes or the proposed bounds checking annotations. I can imagine that C standard library implementors might experience some amount of consternation if different annotations were to be required for different languages. Likewise for programmers that provide libraries for use with both C and C++. I encourage anyone with opinions on this matter to attend.

Tom.

On 7/26/23 1:33 PM, Timur Doumler via Liaison wrote:
Dear WG14/WG21 liaison study group,

At our SG21 (Contracts) telecon tomorrow we will be looking at P2885 "Requirements for a Contracts syntax". One of the questions that this paper asks, and that we intend to poll, is (see section 5.8 on page 11):

"Should the Contracts syntax also be standardisable for the C programming language? Note that this might be a subset of the syntax adopted by WG21, or an alternative spelling for the same constructs that is supported by both languages."

If any of you would like to contribute to this discussion, you're very welcome to join. Apologies for the short notice.

The telecon is taking place tomorrow – Thursday, 27 July 2023, at 15:00 UTC (8 AM Pacific / 11 AM Eastern / 16:00 BST / 17:00 CEST). That's 21h 30mins from now. Agenda and Zoom link can be found on the wiki page: https://wiki.edg.com/bin/view/Wg21telecons2023/Teleconference2023-07-27 

Cheers,
Timur

_______________________________________________
Liaison mailing list
Liaison@lists.isocpp.org
Subscription: https://lists.isocpp.org/mailman/listinfo.cgi/liaison
Link to this post: http://lists.isocpp.org/liaison/2023/07/1220.php