class WindowAdapter {
public:
virtual ~WindowAdapter() = default;
};
class GlfwAdapter : public WindowAdapter {
};
void foo(WindowAdapter* adapter) {}
int main() {
GlfwAdapter ga;
foo(&ga); // Should compile without cast
return 0;
}
CmNsYXNzIFdpbmRvd0FkYXB0ZXIgewpwdWJsaWM6CiAgICB2aXJ0dWFsIH5XaW5kb3dBZGFwdGVyKCkgPSBkZWZhdWx0Owp9OwoKCmNsYXNzIEdsZndBZGFwdGVyIDogcHVibGljIFdpbmRvd0FkYXB0ZXIgewp9OwoKdm9pZCBmb28oV2luZG93QWRhcHRlciogYWRhcHRlcikge30KaW50IG1haW4oKSB7CiAgICBHbGZ3QWRhcHRlciBnYTsKICAgIGZvbygmZ2EpOyAgLy8gU2hvdWxkIGNvbXBpbGUgd2l0aG91dCBjYXN0CiAgICByZXR1cm4gMDsKfQo=