7 Expressions [expr]

7.5 Primary expressions [expr.prim]

7.5.7 Requires expressions [expr.prim.req] Simple requirements [expr.prim.req.simple]

expression ;
A simple-requirement asserts the validity of an expression.
The enclosing requires-expression will evaluate to false if substitution of template arguments into the expression fails.
— end note]
template<typename T> concept C =
  requires (T a, T b) {
    a + b;          // C<T> is true if a + b is a valid expression
— end example]
A requirement that starts with a requires token is never interpreted as a simple-requirement.
This simplifies distinguishing between a simple-requirement and a nested-requirement.
— end note]