https://gcc.gnu.org/bugzilla/show_bug.cgi?id=123667

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jakub at gcc dot gnu.org
            Summary|[14/15/16 Regression] ICE   |[14/15/16 Regression] ICE
                   |in finish_decltype_type     |in finish_decltype_type
                   |when using decltype on a    |when using decltype on a
                   |structured binding inside a |structured binding inside a
                   |generic lambda              |generic lambda since
                   |                            |r14-9258

--- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
namespace std {
  template <typename T> struct tuple_size;
  template <int, typename> struct tuple_element;
}

struct A {
  int i;
  template <int I> int &get () { return i; }
};

template <> struct std::tuple_size <A> { static const int value = 2; };
template <int I> struct std::tuple_element <I,A> { using type = int; };

int
main ()
{
  auto [x, y] = A { 0 };
  [] (auto t) { using z = decltype (x); } (1);
}

Started with my r14-9258-g867cbadb912ab75d0eaf919a3f992595e508482b

Reply via email to