Введение в идентификатор типа в Rust
Идентификатор типа в Rust помогает узнать, совпадает ли вид двух значений, когда точный тип заранее не записан в параметре функции. Это про сравнение видов, а не про чтение полей неизвестной структуры по именам.
Компилятор по-прежнему проверяет основной код, но иногда в одном месте оказываются значения разных конкретных типов за общей ссылкой. Тогда нужен способ спросить у среды: это тот же вид, что мы ожидаем, или другой.
В стандартной библиотеке для этого есть метка вида и общий тип-оболочка. Метка получается из самого типа в коде и сравнивается на равенство. Оболочка хранит ссылку на значение и позволяет вернуться к конкретному виду, если он совпал.
Дальше сравним метки для разных типов, проверим число внутри общей ссылки и закрепим прием на задачах.