История изменений
Исправление www_linux_org_ru, (текущая версия) :
напомню, что разговор шел о том, можно ли сделать какое-то *конкретное* объединение неразмеченным; и квазимото писал Человеческое метапрограммирование (комментарий)
Правда, можно сделать объединение неразмеченным при условии, что все поля объединения боксированы/тегированы и содержат всю информацию о своих типах в рантайме
я показал, что его условие вовсе не единственно; именно, можно сделать типобезопасное объединение неразмеченным, если положить туда значения экзистенциального типа (по-разному конкретизированного)
Только сделать нормально, без UB при любом составе юниона (включая шаблонные классы) и любом обращении с ним (за исключением прямого засирания памяти).
такой вопрос, по-моему, там не стоял, но это интересный, хотя наверно и непрактичный вопрос — примерно сколько типовой информации можно стереть из рантайма
Исходная версия www_linux_org_ru, :
напомню, что разговор шел о том, можно ли сделать какое-то *конкретное* объединение неразмеченным; и квазимото писал Человеческое метапрограммирование (комментарий)
Правда, можно сделать объединение неразмеченным при условии, что все поля объединения боксированы/тегированы и содержат всю информацию о своих типах в рантайме
я показал, что его условие вовсе не единственно; именно, можно сделать объединение неразмеченным, если положить туда значения экзистенциального типа (по-разному конкретизированного)
Только сделать нормально, без UB при любом составе юниона (включая шаблонные классы) и любом обращении с ним (за исключением прямого засирания памяти).
такой вопрос, по-моему, там не стоял, но это интересный, хотя наверно и непрактичный вопрос — примерно сколько типовой информации можно стереть из рантайма