From 8d652ab6adfb30ca4ead6c803252667faca53407 Mon Sep 17 00:00:00 2001 From: Ben Bridle Date: Thu, 13 Feb 2025 20:24:25 +1300 Subject: Correctly record references resolved by each definition Definitions were incorrectly not having resolved references associated with them. --- src/resolver.rs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'src') 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), } } -- cgit v1.2.3-70-g09d2