[expr.prim.req.simple]

# 7 Expressions [[expr]](./#expr)

## 7.5 Primary expressions [[expr.prim]](expr.prim#req.simple)

### 7.5.8 Requires expressions [[expr.prim.req]](expr.prim.req#simple)

#### 7.5.8.2 Simple requirements [expr.prim.req.simple]

[simple-requirement:](#nt:simple-requirement "7.5.8.2 Simple requirements [expr.prim.req.simple]")  
[*expression*](expr.comma#nt:expression "7.6.20 Comma operator [expr.comma]") ;

[1](#1)

[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/expressions.tex#L3319)

A [*simple-requirement*](#nt:simple-requirement "7.5.8.2 Simple requirements [expr.prim.req.simple]") asserts
the validity of an [*expression*](expr.comma#nt:expression "7.6.20 Comma operator [expr.comma]")[.](#1.sentence-1)

The [*expression*](expr.comma#nt:expression "7.6.20 Comma operator [expr.comma]") is an unevaluated operand[.](#1.sentence-2)

[*Note [1](#note-1)*:

The enclosing [*requires-expression*](expr.prim.req.general#nt:requires-expression "7.5.8.1 General [expr.prim.req.general]") will evaluate to false if substitution of template arguments into the [*expression*](expr.comma#nt:expression "7.6.20 Comma operator [expr.comma]") fails[.](#1.sentence-3)

â *end note*]

[*Example [1](#example-1)*: 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*]

[2](#2)

[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/expressions.tex#L3336)

A [*requirement*](expr.prim.req.general#nt:requirement "7.5.8.1 General [expr.prim.req.general]") that starts with a requires token
is never interpreted as a [*simple-requirement*](#nt:simple-requirement "7.5.8.2 Simple requirements [expr.prim.req.simple]")[.](#2.sentence-1)

[*Note [2](#note-2)*:

This simplifies distinguishing between a [*simple-requirement*](#nt:simple-requirement "7.5.8.2 Simple requirements [expr.prim.req.simple]") and a [*nested-requirement*](expr.prim.req.nested#nt:nested-requirement "7.5.8.5 Nested requirements [expr.prim.req.nested]")[.](#2.sentence-2)

â *end note*]
