Fix crash in Pattern Language syntax highlighting for self-inheriting structs (#2546)

``` rust
struct Rec : Rec {
};
```

Prevent infinite recursion in appendInheritances by erasing processed
inheritance entries during traversal, and safely iterate over
m_inheritances in appendInheritances to avoid
modification-during-iteration issues.

Co-authored-by: paxcut <53811119+paxcut@users.noreply.github.com>
This commit is contained in:
Aki Sakurai
2026-01-05 18:11:21 +08:00
committed by GitHub
parent 58fe8a22a9
commit 63fd61e245
2 changed files with 6 additions and 3 deletions

View File

@@ -218,7 +218,7 @@ namespace hex::plugin::builtin {
std::string getVariableTypeName();
/// Append the variable definitions of the parent to the child
void appendInheritances();
void recurseInheritances(std::string name);
void recurseInheritances(std::string name, size_t depth = 0);
///Loads a map of identifiers to their token id instances
void loadInstances();
/// Replace auto with the actual type for template arguments and function parameters