https://gcc.gnu.org/bugzilla/show_bug.cgi?id=123611
--- Comment #3 from Marek Polacek <mpolacek at gcc dot gnu.org> ---
Related test:
```
#include <meta>
#include <iostream>
#include <utility>
using namespace std;
using namespace std::meta;
template<class T, size_t k>
struct VectorStorage;
template<class T>
struct VectorStorage<T, 3>
{
T x{};
T y{};
T z{};
};
template<class T, size_t k>
struct Vector : VectorStorage<T, k>
{
using Base = VectorStorage<T, k>;
static constexpr auto kMembers =
define_static_array(nonstatic_data_members_of(^^Base,
std::meta::access_context::current()));
};
int main()
{
template for (constexpr std::meta::info member : Vector<float,
3>::kMembers)
{
constexpr std::string_view name = identifier_of(member);
std::cout << name << std::endl;
}
}
```