// PR c++/103879 | |
// { dg-do compile { target c++14 } } | |
struct A { int n = 42; }; | |
struct Y { int m = 0; }; | |
struct X : Y, A { }; | |
struct B : X { }; | |
struct C { B b; }; | |
constexpr int f() { | |
C c; | |
A& a = static_cast<A&>(c.b); | |
B& b = static_cast<B&>(a); | |
return b.n; | |
} | |
static_assert(f() == 42, ""); |