Как Rust реализует отражение?
Ржавчина имеетAny
черта, но она также имеет политику «не плати за то, что ты не используешь». Как Rust реализует отражение?
Я думаю, что Rust использует ленивые теги. Каждый тип изначально не назначен, но позже, если экземпляр типа передается функции, ожидающейAny
признак, типу присваиваетсяTypeId
.
Или может Руст ставитTypeId
на каждый тип, который его экземпляр, возможно, передается этой функции? Я думаю, что первый будет дорогим.