http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49229

Daniel Krügler <daniel.kruegler at googlemail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |paolo.carlini at oracle dot
                   |                            |com

--- Comment #1 from Daniel Krügler <daniel.kruegler at googlemail dot com> 
2011-05-30 11:26:28 UTC ---
[Possibly of interest for Paolo as well]

Some observations: Other binary traits that do not lead to a degenerate
specialization as is_same does, do not produce this ICE. E.g. given

template<class, class>
struct is_blubb {
  static constexpr bool value = false;
};

template<>
struct is_blubb<bool, bool> {
  static constexpr bool value = true;
};

and a constrained c'tor of S like this

template<class... T>
struct S {
  template<class... U,
    typename enable_if<and_<is_blubb<T, U>...>::value>::type*& = enabler
  >
  S(U...){}
};

S<bool> s(0);

As expected, this program is rejected as expected, but does not produce an ICE.

Reply via email to