Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 15 additions & 3 deletions source/expressions.tex
Original file line number Diff line number Diff line change
Expand Up @@ -3659,7 +3659,7 @@
\end{note}

\pnum
For a \grammarterm{splice-expression} of
For a \grammarterm{splice-expression} $E$ of
the form \tcode{template \grammarterm{splice-specialization-specifier}},
the \grammarterm{splice-specifier} of
the \grammarterm{splice-specialization-specifier}
Expand All @@ -3676,8 +3676,20 @@
Otherwise, if $T$ is a variable template,
let $S$ be the specialization of $T$ corresponding to
the template argument list of the \grammarterm{splice-specialization-specifier}.
The expression is an lvalue referring to
the object associated with $S$ and has the same type as that of $S$.
$E$ is an lvalue referring to
the object or function associated with or referenced by $S$.
If $E$ appears in the predicate of a contract assertion $C$\iref{basic.contract}
and $S$ is
\begin{itemize}
\item
a variable declared outside of $C$
of object type \tcode{U}, or
\item
a variable declared outside of $C$
of type ``reference to \tcode{U}'',
\end{itemize}
then the type of $E$ is \tcode{const U},
otherwise $E$ has the same type as that of $S$.
\item
Otherwise, the expression is ill-formed.
\end{itemize}
Expand Down
Loading