Title
Delayed pack expansion and member redeclarations
Status
drafting
Section
13.9.2 [temp.inst]
Submitter
Hubert Tong

Created on 2016-05-11.00:00:00 last changed 80 months ago

Messages

Date: 2018-03-15.00:00:00

Notes from the March, 2018 meeting:

CWG felt that ill-formed, no diagnostic required was the correct approach.

Date: 2018-04-11.00:00:00

It is not clear how to handle parameter packs that are expanded during instantiation in parallel with those that are not yet concrete. In particular, does the following example require a diagnostic?

  template<typename ...T> struct Tuple;
  template<class T, class U> struct Outer;
  template<class ...T, class ...U>
  struct Outer<Tuple<T ...>, Tuple<U ...> > {
    template<class X, class Y> struct Inner;
    template<class ...Y> struct Inner<Tuple<T, Y> ...> { };
    template<class ...Y> struct Inner<Tuple<U, Y> ...> { };
  };
  Outer<Tuple<int, void>, Tuple<int, void> > outer;
History
Date User Action Args
2018-04-11 00:00:00adminsetmessages: + msg6200
2018-04-11 00:00:00adminsetstatus: open -> drafting
2016-05-11 00:00:00admincreate