История изменений
Исправление q0tw4, (текущая версия) :
Тут проблема в том, что по идее код первой функции не должен компилиться, пока не добавить 'b: 'a
(или наоборот, зависит от того какую версию примера использовать) в ограничения. Идея о том, что ограничения следуют из использования и теряются в процессе преобразования типов в корне ошибочна. Другой вопрос в том, что такое изменение в языке сломает огромную кучу существующего кода, при чем не факт, что все сломанное будет легко починить
Исходная версия q0tw4, :
Тут проблема в том, что по идее код первой функции не должен компилиться, пока не добавить 'b: 'a
в ограничения. Идея о том, что ограничения следуют из использования и теряются в процессе преобразования типов в корне ошибочна. Другой вопрос в том, что такое изменение в языке сломает огромную кучу существующего кода, при чем не факт, что все сломанное будет легко починить