в цілому, щоб асоціювати кастомну інформацію з кучою об’єктів отриманих із зовнішніх крейтів
з подальшим швидким отриманням цієї інформації
weakmap це робить дуже ефективно, в Rust не схоже що є механізми для цього
(як власне і в C і загалом)
Andrii
@j2ko
на думку спадає лише те що після отримання дерева з зовнішнього джерела тобі треба його "перезібрати" і покласти в ноди розширену структуру яка б уже містила додаткову інфу.
якщо дерево формується рідко а опрацьовується часто то просідання по перформенсу не буде сильно замітним.
Ingvar Stepanyan
@RReverser
ну про це писав - в принципі можливо, але теж якось купа зайвих врапперів..
і дорожче, і працювати мабуть не дуже зручно буде
Andrii
@j2ko
тут ще треба знати що собою являють ноди і що за додаткова інфа для них провайдиться - можливо тоді вийде більш точніше підібрати рішення
Ingvar Stepanyan
@RReverser
в тому і проблема, що хочеться чогось загальнішого :)
взагалі це ноди в AST-дереві, мені треба при першому проході позбирати оголошення змінних і до яких блоків / функцій вони належать, щоб далі основний прохід компілятора міг діставати в залежності від блоку, в якому знаходиться, які змінні в ньому є