view gcc/testsuite/g++.dg/cpp1y/pr87410.C @ 158:494b0b89df80 default tip

...
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Mon, 25 May 2020 18:13:55 +0900
parents 1830386684a0
children
line wrap: on
line source

// PR c++/87410
// { dg-do compile { target c++14 } }

template <long a> using b = const char[a];
template <typename, int c, int e, typename f>
constexpr auto g(b<c> &, b<e> &, f) {}
template <typename d, int a> auto h(b<a> &) {
  auto i = j(static_cast<d **>(nullptr));
  return **i;
}
class k {
  using l = k;
  const int &m() const;
  friend constexpr auto j(l **n) -> decltype(n) {
    g<int>("", "", static_cast<const int &(k::*)() const>(&k::m));
    return n;
  }
};
k o = h<k, 1>("");