Обновить

Комментарии 7

Дочитал всего лишь до:

сейчас далеко не всякий даже хороший программист может объяснить, как работает тот или иной участок кода или внутренняя логика,

И сразу дальше:

В центре всего, что происходит внутри компилятора, находятся...

И тут сразу стоп. Первая цитата - что происходит внутри вашей программы. Вторая - что происходит внутри компилятора. Это совершенно разные "внутри" и неправильно объяснять действие программы из действий компилятора. Хотя, возможно, я изменю свое мнение, когда дочитаю до конца, но сейчас я думаю, что это методологически неверно.

Лучше читать с первой или со второй, эта не очень самостоятельная, тогда будет понятно откуда ноги.

потому что resolve может быть:
// Обычной функцией
...
И наконец resolve() может быть обычной функцией:

Зачем одно и то же два раза вставлять в список?

Благодарю, перефразировал.

Не знаю как у других, но у меня обычно по ногам арматурой бьют за название функции и структуры одним именем

таким очень любят баловаться в легаси, отчего можно словить много интересных глюков.

Отличное наблюдение. Вот если бы компилятор умел аннотировать код разрешением (lowering ?) в непосредственно используемые сущности. Т.е. написать полный тип вызываемой функции или метода в точке использования перегрузки, и тому подобное.

Это не компилятор в C, и не чтение сгенерированного ассемблера. Именно аннотации всех точек разрешения имен.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации