What do we need to make “profiles” an industry-wide tool for the variety of C++ safety needs? Profiles is a framework. Many parts have to be created and fitted in to enable widespread use. Much has been done, but relatively little is widely available. This is a wish list. Please help in whichever capacity you can. Remember, you have to give a rationale. You cannot assume that others will appreciate your suggestion or design without seeing your reasoning.
Needs
Set of profiles – what profiles do we need? which should be part of an initial set? Which should be standardized? Which should be defined as unions of other profiles?
How do we specify a profile? As a set of guarantees; not, simply as a set of detailed rules. We need examples of profiles: both the set of guarantees and an initial set of detailed rules for delivering those guarantees.
The Core Guidelines has been our initial proving ground for rules for good (and often safe C++ code). We need more rules and rules taking advantage of C++20 and C++23. Individual suggestions can be made directly on the CG GitHub, but larger sets of suggestions and suggestions directly related to profiles belong here.
Comments/analysis on how various compilers could accommodate profiles.
Comments/analysis on how various static analyzers could accommodate profiles.
Names of individuals and groups working on profiles and similar projects.
The Profiles github is https://github.com/BjarneStroustrup/profiles
B. Stroustrup and G. Dos Reis: Safety Profiles: Type-and-resource Safe programming in ISO Standard C++. P2816
B. Stroustrup and G. Dos Reis: Design Alternatives for Type-and-Resource Safe C++. P2687R0. 2022-20-15
B. Stroustrup: Type-and-resource safety in modern C++. P2410r0. 2021-07-12.
B. Stroustrup, H. Sutter, and G. Dos Reis: A brief introduction to C++'s model for type- and resource-safety. October 2015. Revised December 2015.
B. Stroustrup: Writing Good C++14. CppCon 2015.
H. Sutter: Lifetime safety: Preventing common dangling. P1179R1. 2019-11-22.