[lib] When to use 'shall' in library clauses? #1086
Labels
lwg
Issue must be reviewed by LWG.
not-editorial
Issue is not deemed editorial; the editorial issue is kept open for tracking.
In the core clauses, we strive to be consistent to use "shall" for requirements on user programs that require a diagnostic when violated. Requirements on the implementation are described in regular present-tense prose. (We sometimes use "shall" in phrases like "the implementation shall ...", in which case no ambiguity arises.)
In the library clauses, the rules are less clear and should be clarified. In particular, since most library requirements on programs cause undefined behavior, rather than an ill-formed program, when violated.
At the very least, for a "Requires" clause, the use of "shall" for runtime preconditions seems redundant.
Whatever we come up with, we should spell out the rules explicitly in the respective introduction sections.
Generalized from #417.
The text was updated successfully, but these errors were encountered: