Здравствуйте, landerhigh, Вы писали:
L>Задним числом-то все умны.
Встроить в язык бильтин "has_field" и "has_method" — это блин строчек 10 в коде компилятора. Обходные пути через "давай попытаемся вызвать такой-то метод и в случае ошибки компиляции выберем другую перегрузку" — это блин через жопу.
Да, это слишком примитивно, потому что потом захочется узнать номер поля с таким именем, его тип, смещение итд. Но блин, неужели так сложно CTTI вшить? Они не будет жрать в екзешнике НИ-ХРЕ-НА, если не используется. Это просто адский тупняк комитета, потому что эта фича — одна из самых заметных по соотношению полезности к сложности реализации в компиляторе.
Нет такой подлости и мерзости, на которую бы не пошёл gcc ради бессмысленных 5% скорости в никому не нужном синтетическом тесте