Wie setzt Rust Reflexion um?

Rust hat dasAny Trait, aber es hat auch eine "Zahlen Sie nicht für das, was Sie nicht verwenden" -Richtlinie. Wie setzt Rust Reflexion um?

Meine Vermutung ist, dass Rust Lazy Tagging verwendet. Jeder Typ ist anfangs nicht zugewiesen, aber später, wenn eine Instanz des Typs an eine Funktion übergeben wird, die ein @ erwartAny Trait, der Typ erhält einTypeId.

der vielleicht setzt Rust einTypeId auf jedem Typ, dessen Instanz möglicherweise an diese Funktion übergeben wird? Ersteres wäre wohl teuer.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage