GCC и Clang не выполняют гарантированное копирование С++ 17 при вызове конструктора базового класса; см. этот вопрос и соответствующий отчет об ошибке Clang для деталей.
В ответ на сообщение об ошибке Ричард Смит заявляет:
Это дефект в стандартной редакции. Исключение копирования не может быть гарантировано при инициализации подобъекта базового класса, поскольку базовые классы могут иметь разную компоновку, чем соответствующий полный тип объекта.
При каких обстоятельствах базовый класс может иметь "макет, отличный от соответствующего полного типа объекта" таким образом, что делает невозможным гарантированное копирование? Есть конкретный пример, который иллюстрирует это?