// { dg-do compile { target c++11 } }
struct A {
  int i;
  constexpr A():i(42) { };
};
struct B: A { };
constexpr int f(B b) { return b.i; }
struct C { C(); };	       // { dg-message "" "" { target c++20_down } }
struct D: C { };	       // { dg-message "" "" { target c++20_down } }
constexpr int g(D d) { return 42; } // { dg-error "invalid type" "" { target c++20_down } }