diff options
-rw-r--r-- | src/resolver.rs | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/resolver.rs b/src/resolver.rs index b50f910..2214198 100644 --- a/src/resolver.rs +++ b/src/resolver.rs @@ -93,7 +93,11 @@ impl Resolver { let tracked = TrackedSymbol { symbol, source_id, source_role }; let defines = |d: &TrackedDefinition| d.tracked.symbol.defines(&tracked.symbol); match self.definitions.iter().position(defines) { - Some(definition) => self.resolved.push(TrackedReference { tracked, definition }), + Some(index) => { + let definition = &mut self.definitions[index]; + definition.references.push(self.resolved.len()); + self.resolved.push(TrackedReference { tracked, definition: index }) + } None => self.unresolved.push(tracked), } } |