$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
From: dgregor_at_[hidden]
Date: 2008-04-17 17:00:22
Author: dgregor
Date: 2008-04-17 17:00:22 EDT (Thu, 17 Apr 2008)
New Revision: 44519
URL: http://svn.boost.org/trac/boost/changeset/44519
Log:
Try to prevent overly wacky, dependent things in constrained function template signatures
Text files modified: 
   sandbox/committee/concepts/wording/wording.tex |    18 ++++++++++++++++++                      
   1 files changed, 18 insertions(+), 0 deletions(-)
Modified: sandbox/committee/concepts/wording/wording.tex
==============================================================================
--- sandbox/committee/concepts/wording/wording.tex	(original)
+++ sandbox/committee/concepts/wording/wording.tex	2008-04-17 17:00:22 EDT (Thu, 17 Apr 2008)
@@ -4634,6 +4634,24 @@
 \end{itemize}
 
 \pnum
+\addedCC{If a type or expression within the signature of a constrained
+template, the \mbox{\techterm{template-parameter-list}} of a
+constrained template, or the \mbox{\techterm{requires-clause}} of a
+constrained template (if any) would be ill-formed if the associated
+context were a constrained context, the program is
+ill-formed. \mbox{\enterexample}}
+\begin{codeblock}
+concept C<typename T> {
+  typename type;
+}
+
+template<typename T> requires C<T>
+typename C<T>::type::inner_type f(T const&); // error: typename C<T>::type::inner_type would be ill-formed 
+                                             // in a constrained context
+\end{codeblock}
+\addedCC{\mbox{\exitexample}}
+
+\pnum
 \addedCC{Within a constrained context, a program shall not refer to an
   unconstrained template.}