Title
Unconstrained template template parameters in constrained contexts
Status
concepts
Section
_N2914_.14.11 [temp.constrained]
Submitter
James Widman

Created on 2009-03-31.00:00:00 last changed 187 months ago

Messages

Date: 2009-11-08.00:00:00

_N2914_.14.11 [temp.constrained] paragraph 5 says,

Within a constrained context, a program shall not require a template specialization of an unconstrained template for which the template arguments of the specialization depend on a template parameter.

This would appear to indicate that an example like the following is ill-formed:

    auto concept C<class T> {};

    template<template<class> class T, C U>
    struct Y {
         Y() {
             T<U> x; // Well-formed?
         }
    };

because T' is not a constrained template archetype. However, this is not the intended outcome. The wording needs to be clarified on this point (and an example and a note explaining the rationale would be helpful).

(See also issues 849 and 851.)

History
Date User Action Args
2009-08-03 00:00:00adminsetstatus: open -> concepts
2009-03-31 00:00:00admincreate