#include "util.h" namespace { struct Base1 { int a; float b; }; struct Base2 { int x; float y; }; struct Sub : Base1, Base2 { double value; }; static_assert(std::is_same_v, int>); static_assert(std::is_same_v, float>); static_assert(std::is_same_v, int>); static_assert(std::is_same_v, float>); static_assert(std::is_same_v, double>); static_assert(std::is_same_v, Base1>); static_assert(std::is_same_v, Base2>); static_assert(std::is_same_v, Base1>); static_assert(std::is_same_v, Base2>); static_assert(std::is_same_v, Sub>); }