From 94735aa655dd0f2508429efc5c204c853d3da7a5 Mon Sep 17 00:00:00 2001 From: Arthur O'Dwyer Date: Tue, 14 May 2024 13:05:45 -0400 Subject: [PATCH 1/2] [meta.unary.prop] Misleading iref to "trivial type" when talking about trivial functions --- source/meta.tex | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/source/meta.tex b/source/meta.tex index 17cbbf91dd..438f2e3b03 100644 --- a/source/meta.tex +++ b/source/meta.tex @@ -787,7 +787,7 @@ \pnum For the purpose of defining the templates in this subclause, a function call expression \tcode{declval()} for any type \tcode{T} -is considered to be a trivial\iref{term.trivial.type,special} function call +is considered to be a trivial\iref{special} function call that is not an odr-use\iref{term.odr.use} of \tcode{declval} in the context of the corresponding definition notwithstanding the restrictions of~\ref{declval}. @@ -1047,7 +1047,7 @@ \tcode{is_constructible_v} is \tcode{true} and the variable definition for \tcode{is_constructible}, as defined below, is known to call - no operation that is not trivial\iref{term.trivial.type,special}. & + no operation that is not trivial\iref{special}. & \tcode{T} and all types in the template parameter pack \tcode{Args} shall be complete types, \cv{}~\keyword{void}, or arrays of unknown bound. \\ \rowsep @@ -1082,7 +1082,7 @@ \tcode{struct is_trivially_assignable;} & \tcode{is_assignable_v} is \tcode{true} and the assignment, as defined by \tcode{is_assignable}, is known to call no operation that is not - trivial\iref{term.trivial.type,special}. & + trivial\iref{special}. & \tcode{T} and \tcode{U} shall be complete types, \cv{}~\keyword{void}, or arrays of unknown bound. \\ \rowsep @@ -1553,7 +1553,7 @@ \pnum For the purpose of defining the templates in this subclause, a function call expression \tcode{declval()} for any type \tcode{T} -is considered to be a trivial\iref{term.trivial.type,special} function call +is considered to be a trivial\iref{special} function call that is not an odr-use\iref{term.odr.use} of \tcode{declval} in the context of the corresponding definition notwithstanding the restrictions of~\ref{declval}. From 98517fbd15cae19ca38b43916b5d78679594952b Mon Sep 17 00:00:00 2001 From: Arthur O'Dwyer Date: Tue, 14 May 2024 13:09:43 -0400 Subject: [PATCH 2/2] [class.default.ctor, class.dtor] Fix indexing of "trivial" and "non-trivial" --- source/classes.tex | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/source/classes.tex b/source/classes.tex index c9da349462..aaf78ef1be 100644 --- a/source/classes.tex +++ b/source/classes.tex @@ -1208,7 +1208,6 @@ \pnum \indextext{constructor!inheritance of}% -\indextext{constructor!non-trivial}% A \defnadj{default}{constructor} for a class \tcode{X} is a constructor of class \tcode{X} for which each parameter @@ -2043,7 +2042,9 @@ \end{itemize} \pnum -A destructor is trivial if it is not user-provided and if: +A destructor is +\defnx{trivial}{destructor!trivial} +if it is not user-provided and if: \begin{itemize} \item the destructor is not virtual,