// { dg-do compile { target c++20 } }
struct A
{
  virtual consteval int f() const { return 1; };
};
struct B: A
{
  virtual consteval int f() const { return 2; };
  virtual void g() { }
};
consteval int f()
{
  const A& ar = B();
  return ar.f();
}
static_assert (f() == 2);
B b;