From 8798460240078e66a256cf09ed7c8f37124bbecf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20K=C3=B6ppe?= Date: Thu, 16 Jul 2026 13:06:10 +0100 Subject: [PATCH] [thread.{thread.constr,jthread.cons}] Move the "existence of $i$ to Mandates:. This change separates the local notational definitions from the requirement whose violation makes the program ill-formed: the latter should probably appear in one of the standard Elements rather than in a rogue paragraph. --- source/threads.tex | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/source/threads.tex b/source/threads.tex index 5c5e477a63..a898419ceb 100644 --- a/source/threads.tex +++ b/source/threads.tex @@ -1802,13 +1802,12 @@ \end{itemize} \pnum -Then: -\begin{itemize} -\item Let $i$ be the smallest value such that \tcode{decay_t} -is not a thread attribute type. -If no such $i$ exists, the program is ill-formed. +is not a thread attribute type, +if such a value exists. +Then the following notation is used: +\begin{itemize} \item Let \tcode{F} be \tcode{Args...[$i$]}. \item @@ -1833,7 +1832,7 @@ \pnum \mandates -The following are all \tcode{true}: +The value $i$ exists, and the following are all \tcode{true}: \begin{itemize} \item \tcode{is_constructible_v, F>}, \item \tcode{(is_constructible_v, FArgs> \&\& ...)}, @@ -2178,13 +2177,12 @@ \end{itemize} \pnum -Then: -\begin{itemize} -\item Let $i$ be the smallest value such that \tcode{decay_t} -is not a thread attribute type. -If no such $i$ exists, the program is ill-formed. +is not a thread attribute type, +if such a value exists. +Then the following notation is used: +\begin{itemize} \item Let \tcode{F} be \tcode{Args...[$i$]}. \item @@ -2209,7 +2207,7 @@ \pnum \mandates -The following are all \tcode{true}: +The value $i$ exists, and the following are all \tcode{true}: \begin{itemize} \item \tcode{is_constructible_v, F>}, \item \tcode{(is_constructible_v, FArgs> \&\& ...)},