cplusplus / cplusplus/draft

Missing index entries for definitions of the terms "satisfies" and "models"

Open
#3,523 3 comments 0 reactions 1 assignee View on GitHub

@CaseyCarter is already working on this.

Since Dec 6, 2019.

lwg
Dominant language
TeX
Stars
221
Forks
813
Avg merge
16h 4m
Merged PRs (30d)
36

Description

The draft repeatedly uses the terms of art "satisfies/satisfy" and "models/model" without pointing to their definitions, which would be fine, except that these terms of art also do not appear in the Index!

It's hard to search for "model" in the full text because of "memory model" and "object model", but I have at least tracked it down to a non-normative example http://eel.is/c++draft/concepts.equality#8

T fails to meet the implicit requirements of C, so T satisfies but does not model C. Since implementations are not required to validate the syntax of implicit requirements, it is unspecified whether an implementation diagnoses as ill-formed a program that requires C<T>.

http://eel.is/c++draft/temp.constr.atomic#3 seems to provide a normative definition for satisfy.

To determine if an atomic constraint is satisfied, the parameter mapping and template arguments are first substituted into its expression. If substitution results in an invalid type or expression, the constraint is not satisfied. Otherwise, the lvalue-to-rvalue conversion is performed if necessary, and E shall be a constant expression of type bool. The constraint is satisfied if and only if evaluation of E results in true.

I have not discovered the normative definition for model.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.