diff --git a/source/declarations.tex b/source/declarations.tex index e1a73595c9..211c584f4c 100644 --- a/source/declarations.tex +++ b/source/declarations.tex @@ -479,9 +479,11 @@ \end{example} \pnum -The \tcode{mutable} specifier shall appear only in the declaration of +The \keyword{mutable} specifier shall appear only in the declaration of a non-static data member\iref{class.mem} whose type is neither const-qualified nor a reference type. +A member subobject\iref{intro.object} corresponding to a non-static +data member declared with the \keyword{mutable} specifier is a \defnadj{mutable}{subobject}. \begin{example} \begin{codeblock} class X { @@ -493,9 +495,9 @@ \pnum \begin{note} -The \tcode{mutable} specifier on a class data member nullifies a +The \keyword{mutable} specifier on a class data member nullifies a \tcode{const} specifier applied to the containing class object and -permits modification of the mutable class member even though the rest of +permits modification of the \keyword{mutable} class member even though the rest of the object is const~(\ref{basic.type.qualifier}, \ref{dcl.type.cv}). \end{note} diff --git a/source/expressions.tex b/source/expressions.tex index ad63de88fa..2484bca7e1 100644 --- a/source/expressions.tex +++ b/source/expressions.tex @@ -6938,7 +6938,7 @@ \item an invocation of an implicitly-defined copy/move constructor or copy/move assignment operator -for a union whose active member (if any) is mutable, +for a union whose active member (if any) is \keyword{mutable}, unless the lifetime of the union object began within the evaluation of $E$; \item diff --git a/source/templates.tex b/source/templates.tex index 9b89dd4ed6..4f38978f0d 100644 --- a/source/templates.tex +++ b/source/templates.tex @@ -397,7 +397,7 @@ \item a literal class type with the following properties: \begin{itemize} \item -all base classes and non-static data members are public and non-mutable and +all base classes and non-static data members are public and no members are declared \keyword{mutable}, and \item the types of all bases classes and non-static data members are structural types or (possibly multi-dimensional) array thereof.