There is no difference between lines 82 and 92 in the code below with both MSVC2022 and GCC11:
#include <utility>
#include <stdexcept>
#include <iostream>
struct Object
{
virtual const char* name() = 0;
virtual ~Object() = default;
};
struct A : public Object
{
const char* name() override
{
return "A";
}
};