|
2600 | 2600 | \begin{bnf}
|
2601 | 2601 | \nontermdef{return-type-requirement}\br
|
2602 | 2602 | trailing-return-type\br
|
2603 |
| - \terminal{->} qualified-concept-name |
| 2603 | + \terminal{->} type-constraint |
2604 | 2604 | \end{bnf}
|
2605 | 2605 |
|
2606 | 2606 | \pnum
|
|
2631 | 2631 | If conversion fails, the enclosing \grammarterm{requires-expression}
|
2632 | 2632 | is \tcode{false}.
|
2633 | 2633 | \item
|
2634 |
| - If the \grammarterm{return-type-requirement} has a |
2635 |
| - a \grammarterm{qualified-concept-name}\iref{temp.param} of the form |
2636 |
| - \opt{\grammarterm{nested-name-specifier}} \grammarterm{concept-name}, |
2637 |
| - the concept it denotes shall be satisfied with |
2638 |
| - \tcode{decltype((E))} as its sole argument. |
2639 |
| - If the \grammarterm{return-type-requirement} has a |
2640 |
| - a \grammarterm{qualified-concept-name} of the form |
2641 |
| - \opt{\grammarterm{nested-name-specifier}} \grammarterm{concept-name} |
2642 |
| - \tcode{<} \opt{\grammarterm{template-argument-list}} \tcode{>}, |
2643 |
| - the concept it denotes shall be satisfied with |
2644 |
| - \tcode{decltype((E))} as its first argument and with |
2645 |
| - the elements, in the order listed, of |
2646 |
| - the \grammarterm{template-argument-list} |
2647 |
| - comprising the concept’s subsequent arguments. |
| 2634 | + If the \grammarterm{return-type-requirement} |
| 2635 | + is of the form \tcode{->} \grammarterm{type-constraint}, then |
| 2636 | + the contextually-determined type being constrained |
| 2637 | + is \tcode{decltype((E))}. |
| 2638 | + The immediately-declared constraint\iref(temp) of \tcode{decltype((E))} |
| 2639 | + shall be satisfied. |
2648 | 2640 | \begin{note}
|
2649 | 2641 | Thus, constraints of the form
|
2650 | 2642 | \tcode{\{ E \} -> Concept;} or of the form
|
|
0 commit comments