[expr.prim.req.type] (original) (raw)

7 Expressions [expr]

7.5 Primary expressions [expr.prim]

7.5.8 Requires expressions [expr.prim.req]

7.5.8.3 Type requirements [expr.prim.req.type]

A type-requirement asserts the validity of a type.

[Note 1:

The enclosing requires-expression will evaluate to falseif substitution of template arguments fails.

— _end note_]

[Example 1: template<typename T, typename T::type = 0> struct S;template<typename T> using Ref = T&;template<typename T> concept C = requires { typename T::inner; typename S<T>; typename Ref<T>; }; — _end example_]