From acb6275bac831e4b742a10de7e5d98c977a5b115 Mon Sep 17 00:00:00 2001 From: lprv <100177227+lprv@users.noreply.github.com> Date: Sun, 14 Dec 2025 23:49:06 +0000 Subject: [PATCH] [basic] Use past subjunctive after "as if" --- source/basic.tex | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/source/basic.tex b/source/basic.tex index a813f68d9c..134a5073fd 100644 --- a/source/basic.tex +++ b/source/basic.tex @@ -837,7 +837,7 @@ \begin{itemize} \item If \tcode{D} is a class with an implicitly-declared constructor\iref{class.default.ctor,class.copy.ctor}, -it is as if the constructor was +it is as if the constructor were implicitly defined in every translation unit where it is odr-used, and the implicit definition in every translation unit shall call the same constructor for a subobject of \tcode{D}. @@ -870,7 +870,7 @@ \item If \tcode{D} is a class with a defaulted three-way comparison operator function\iref{class.spaceship}, -it is as if the operator was +it is as if the operator were implicitly defined in every translation unit where it is odr-used, and the implicit definition in every translation unit shall call the same comparison operators for each subobject of \tcode{D}. @@ -891,7 +891,7 @@ default template arguments of either \tcode{D} or an entity not defined within \tcode{D}). For each such entity and for \tcode{D} itself, -the behavior is as if there is a single entity with a single definition, +the behavior is as if there were a single entity with a single definition, including in the application of these requirements to other entities. \begin{note} The entity is still declared in multiple translation units, and \ref{basic.link} @@ -921,7 +921,7 @@ If the definition of \tcode{f} appears in multiple translation units, the behavior of the program is as if -there is only one definition of \tcode{f}. +there were only one definition of \tcode{f}. If the definition of \tcode{g} appears in multiple translation units, the program is ill-formed (no diagnostic required) because each such definition uses a default argument that @@ -2007,7 +2007,7 @@ When a class scope is searched, the scopes of its base classes are also searched\iref{class.member.lookup}. If it inherits from a single base, -it is as if the scope of the base immediately contains +it is as if the scope of the base immediately contained the scope of the derived class. Template parameter scopes that are associated with one scope in the chain of parents @@ -7581,7 +7581,7 @@ of the second is sequenced before the initiation of the destruction of the first. If an object is initialized statically, the object is destroyed in the same order as if -the object was dynamically initialized. +the object were dynamically initialized. If the destruction of an object with static or thread storage duration exits via an exception, the function \tcode{std::terminate} is called\iref{except.terminate}. @@ -7980,7 +7980,7 @@ invoked from the evaluation of a function contract assertion\iref{dcl.contract.func} exits via an exception, the behavior is as if -the function body exits via that same exception. +the function body exited via that same exception. \begin{note} A \grammarterm{function-try-block}\iref{except.pre} is the function body when present