From 1c74268a2d40e0d2e4f6fd0cde19f192160a1755 Mon Sep 17 00:00:00 2001 From: "A. Jiang" Date: Tue, 24 Mar 2026 12:09:35 +0800 Subject: [PATCH] [expr.dynamic.cast] Replace "runtime check" with "dynamic check" Since C++20, such check can happen in constant evaluation, so it's no longer correct to call it "runtime check". This PR changes the phrase to "dynamic check", which is consistent with - the "dynamic" in `dynamic_cast`, and - P3953R3 - renaming `runtime_format` to `dynamic_format`. Also slightly tweaks semantic line break as drive-by. --- source/expressions.tex | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/source/expressions.tex b/source/expressions.tex index d91fac60e0..6373b08bee 100644 --- a/source/expressions.tex +++ b/source/expressions.tex @@ -4663,13 +4663,13 @@ \pnum If \tcode{T} is ``pointer to \cv{} \keyword{void}'', then the result is a pointer to the most derived object pointed to by \tcode{v}. -Otherwise, a runtime check is applied to see if the object pointed or +Otherwise, a dynamic check is applied to see if the object pointed or referred to by \tcode{v} can be converted to the type pointed or referred to by \tcode{T}. \pnum -Let \tcode{C} be the class type to which \tcode{T} points or refers. The runtime -check logically executes as follows: +Let \tcode{C} be the class type to which \tcode{T} points or refers. +The dynamic check logically executes as follows: \begin{itemize} \item If, in the most derived object pointed (referred) to by \tcode{v}, @@ -4685,7 +4685,7 @@ \tcode{C} subobject of the most derived object. \item Otherwise, the -runtime check \term{fails}. +dynamic check \term{fails}. \end{itemize} \pnum @@ -4709,7 +4709,7 @@ ap = dynamic_cast(bp); // fails bp = dynamic_cast(ap); // fails ap = dynamic_cast(&d); // succeeds - bp = dynamic_cast(&d); // ill-formed (not a runtime check) + bp = dynamic_cast(&d); // ill-formed (not a dynamic check) } class E : public D, public B { };