From f2bf8b12c0237b52fce8825e39872d48c0fa3a54 Mon Sep 17 00:00:00 2001 From: "A. Jiang" Date: Mon, 28 Sep 2026 11:39:01 +0800 Subject: [PATCH] Unhyphenate "potentially-throwing" Affected sections: - [defns.expression.equivalent] - [expr.prim.req.compound] - [expr.call] - [expr.unary.noexcept] - [dcl.fct.def.coroutine] - [except.handle] - [except.spec] - [temp.deduct.conv] - [res.on.exception.handling] - [exec.snd.expos] - [exec.run.loop.types] - [exec.inline.scheduler] - [diff.cpp17.depr] Indexing is also tweaked. --- source/compatibility.tex | 2 +- source/declarations.tex | 2 +- source/exceptions.tex | 44 ++++++++++++++++++++-------------------- source/exec.tex | 12 +++++------ source/expressions.tex | 6 +++--- source/intro.tex | 4 ++-- source/lib-intro.tex | 4 ++-- source/templates.tex | 2 +- 8 files changed, 38 insertions(+), 38 deletions(-) diff --git a/source/compatibility.tex b/source/compatibility.tex index 5ba3be8773..24da040c67 100644 --- a/source/compatibility.tex +++ b/source/compatibility.tex @@ -1618,7 +1618,7 @@ \change Remove \tcode{raw_storage_iterator}. \rationale -The iterator encouraged use of potentially-throwing algorithms, but did +The iterator encouraged use of potentially throwing algorithms, but did not return the number of elements successfully constructed, as would be necessary to destroy them. \effect diff --git a/source/declarations.tex b/source/declarations.tex index 80d34f0cfc..75fa824ae4 100644 --- a/source/declarations.tex +++ b/source/declarations.tex @@ -7737,7 +7737,7 @@ \pnum The expression \keyword{co_await} \tcode{\exposid{promise}.final_suspend()} -shall not be potentially-throwing\iref{except.spec}. +shall not be potentially throwing\iref{except.spec}. \rSec2[dcl.fct.def.replace]{Replaceable function definitions} diff --git a/source/exceptions.tex b/source/exceptions.tex index 23e143e137..db71827566 100644 --- a/source/exceptions.tex +++ b/source/exceptions.tex @@ -649,7 +649,7 @@ \end{note} \begin{example} \begin{codeblock} -extern void f(); // potentially-throwing +extern void f(); // potentially throwing void g() noexcept { f(); // valid, even if \tcode{f} throws @@ -760,9 +760,9 @@ is called the \defn{exception specification} of the function. If the predicate is false, the function has a -\indextext{exception specification!potentially-throwing}% -\defnx{potentially-throwing exception specification}% -{potentially-throwing!exception specification}, +\indextext{exception specification!potentially throwing}% +\defnx{potentially throwing exception specification}% +{potentially throwing!exception specification}, otherwise it has a \indextext{exception specification!non-throwing}% \defn{non-throwing exception specification}. @@ -849,7 +849,7 @@ The declaration of \tcode{D::f} is ill-formed because it -has a potentially-throwing exception specification, +has a potentially throwing exception specification, whereas \tcode{B::f} has a non-throwing exception specification. @@ -857,14 +857,14 @@ \pnum An expression $E$ is -\defnx{potentially-throwing}{potentially-throwing!expression} if +\defnx{potentially throwing}{potentially throwing!expression} if \begin{itemize} \item $E$ is a function call\iref{expr.call} whose \grammarterm{postfix-expression} has a function type, or a pointer-to-function type, -with a potentially-throwing exception specification, +with a potentially throwing exception specification, or \item $E$ implicitly invokes a function @@ -872,7 +872,7 @@ an allocation function in a \grammarterm{new-expression}, a constructor for a function argument, or a destructor) -that has a potentially-throwing exception specification, +that has a potentially throwing exception specification, or \item $E$ is a \grammarterm{throw-expression}\iref{expr.throw}, @@ -889,16 +889,16 @@ or \item any of the immediate subexpressions\iref{intro.execution} -of $E$ that is not an unevaluated operand is potentially-throwing. +of $E$ that is not an unevaluated operand is potentially throwing. \end{itemize} \pnum An implicitly-declared constructor for a class \tcode{X}, or a constructor without a \grammarterm{noexcept-specifier} that is defaulted on its first declaration, -has a potentially-throwing exception specification +has a potentially throwing exception specification if and only if -any of the following constructs is potentially-throwing: +any of the following constructs is potentially throwing: \begin{itemize} \item the invocation of a constructor selected by overload resolution @@ -925,20 +925,20 @@ \pnum The exception specification for an implicitly-declared destructor, or a destructor without a \grammarterm{noexcept-specifier}, -is potentially-throwing if and only if +is potentially throwing if and only if any of the destructors for any of its potentially constructed subobjects -has a potentially-throwing exception specification or +has a potentially throwing exception specification or the destructor is virtual and the destructor of any virtual base class -has a potentially-throwing exception specification. +has a potentially throwing exception specification. \pnum The exception specification for an implicitly-declared assignment operator, or an assignment-operator without a \grammarterm{noexcept-specifier} that is defaulted on its first declaration, -is potentially-throwing if and only if +is potentially throwing if and only if the invocation of any assignment operator -in the implicit definition is potentially-throwing. +in the implicit definition is potentially throwing. \pnum A deallocation function\iref{basic.stc.dynamic.deallocation} @@ -953,9 +953,9 @@ \end{itemize} without a \grammarterm{noexcept-specifier} that is defaulted on its first declaration -is potentially-throwing if and only if +is potentially throwing if and only if any expression -in the implicit definition is potentially-throwing. +in the implicit definition is potentially throwing. \pnum \begin{example} @@ -975,10 +975,10 @@ int n = 7; struct D : public A, public B { int * p = new int[n]; - // \tcode{D::D()} potentially-throwing, as the \keyword{new} operator may throw \tcode{bad_alloc} or \tcode{bad_array_new_length} + // \tcode{D::D()} potentially throwing, as the \keyword{new} operator may throw \tcode{bad_alloc} or \tcode{bad_array_new_length} // \tcode{D::D(const D\&)} non-throwing - // \tcode{D::D(D\&\&)} potentially-throwing, as the default argument for \tcode{B}'s constructor may throw - // \tcode{D::\~D()} potentially-throwing + // \tcode{D::D(D\&\&)} potentially throwing, as the default argument for \tcode{B}'s constructor may throw + // \tcode{D::\~D()} potentially throwing }; \end{codeblock} Furthermore, if @@ -986,7 +986,7 @@ were virtual, the program would be ill-formed since a function that overrides a virtual function from a base class -shall not have a potentially-throwing exception specification +shall not have a potentially throwing exception specification if the base class function has a non-throwing exception specification. \end{example} diff --git a/source/exec.tex b/source/exec.tex index 26a42d6707..d23c31cd00 100644 --- a/source/exec.tex +++ b/source/exec.tex @@ -1836,7 +1836,7 @@ set_error(std::move(rcvr), current_exception()); } \end{codeblock} -if \tcode{expr} is potentially-throwing; otherwise, \tcode{expr}. +if \tcode{expr} is potentially throwing; otherwise, \tcode{expr}. \tcode{\exposid{TRY-SET-VALUE}(rcvr, expr)} is \begin{codeblock} @\exposid{TRY-EVAL}@(rcvr, @\exposid{SET-VALUE}@(rcvr, expr)) @@ -6799,7 +6799,7 @@ Let \exposid{sch} be an expression of type \exposid{run-loop-scheduler}. The expression \tcode{schedule(\exposid{sch})} has type \exposid{run-loop-\newline sender} and -is not potentially-throwing if \exposid{sch} is not potentially-throwing. +is not potentially throwing if \exposid{sch} is not potentially throwing. \pnum For type \exposid{set-tag} other than \tcode{set_error_t}, @@ -6835,8 +6835,8 @@ \item The expression \tcode{connect(\exposid{sndr}, \exposid{rcvr})} has type \tcode{\exposid{run-loop-opstate}>} -and is potentially-throwing if and only if -\tcode{(void(\exposid{sndr}), auto(\exposid{rcvr}))} is potentially-throwing. +and is potentially throwing if and only if +\tcode{(void(\exposid{sndr}), auto(\exposid{rcvr}))} is potentially throwing. \item The expression \tcode{get_completion_scheduler(get_env(\exposid{sndr}))} has type \exposid{run-loop-scheduler} and @@ -7422,8 +7422,8 @@ where \tcode{CS} is \tcode{completion_signatures}, then the expression \tcode{connect(sndr, rcvr)} has type \tcode{\exposid{inline-state}>} -and is potentially-throwing if and only if -\tcode{((void)sndr, auto(rcvr))} is potentially-throwing. +and is potentially throwing if and only if +\tcode{((void)sndr, auto(rcvr))} is potentially throwing. \pnum Let \tcode{\placeholder{o}} be a non-\tcode{const} lvalue of type diff --git a/source/expressions.tex b/source/expressions.tex index 4f1bf63c63..9cbb929673 100644 --- a/source/expressions.tex +++ b/source/expressions.tex @@ -3506,7 +3506,7 @@ into its associated \grammarterm{constant-expression} is performed. \item If the value of the converted \grammarterm{constant-expression} is \tcode{true}, -$E$ shall not be a potentially-throwing expression. +$E$ shall not be a potentially throwing expression. \end{itemize} \item @@ -3994,7 +3994,7 @@ \begin{note} This requirement allows the case when the expression has the type of a -potentially-throwing function, but the called function has +potentially throwing function, but the called function has a non-throwing exception specification, and the function types are otherwise the same. \end{note} @@ -5931,7 +5931,7 @@ \pnum The result of the \keyword{noexcept} operator is a prvalue of type \keyword{bool}. The result is \tcode{false} if -the full-expression of the operand is potentially-throwing\iref{except.spec}, and +the full-expression of the operand is potentially throwing\iref{except.spec}, and \tcode{true} otherwise. \begin{note} A \grammarterm{noexcept-expression} diff --git a/source/intro.tex b/source/intro.tex index 3fdf69f16e..6706f5c2fe 100644 --- a/source/intro.tex +++ b/source/intro.tex @@ -274,8 +274,8 @@ \indexdefn{expression-equivalent}% expressions that all have the same effects, either -are all potentially-throwing or -are all not potentially-throwing, +are all potentially throwing or +are all not potentially throwing, and either are all \termref{defns.const.subexpr}{constant subexpression}{s} or diff --git a/source/lib-intro.tex b/source/lib-intro.tex index 99420d7c6d..9424a944bc 100644 --- a/source/lib-intro.tex +++ b/source/lib-intro.tex @@ -3956,9 +3956,9 @@ \Cpp{} standard library \indextext{specifications!\Cpp{}}% that do not have a \throws paragraph -but do have a potentially-throwing exception specification +but do have a potentially throwing exception specification may throw \impldef{exceptions thrown by standard library functions that have a -potentially-throwing exception specification} exceptions. +potentially throwing exception specification} exceptions. \begin{footnote} In particular, they can report a failure to allocate storage by throwing an exception of type diff --git a/source/templates.tex b/source/templates.tex index 9c0e511ef7..affd40dbf5 100644 --- a/source/templates.tex +++ b/source/templates.tex @@ -8775,7 +8775,7 @@ \item If the original \tcode{A} is a function pointer or pointer-to-member-function type -with a potentially-throwing exception specification\iref{except.spec}, +with a potentially throwing exception specification\iref{except.spec}, the exception specification. \item Any cv-qualifiers in \tcode{A}