From d5f5489debcc23aebef31f13d92a6372dea1641d Mon Sep 17 00:00:00 2001 From: Ben Bridle Date: Mon, 10 Feb 2025 12:56:31 +1300 Subject: Definitions can only come from the same or a parent namespace This commit fixes an error where a reference was being resolved by a definition in a child namespace. --- src/source_unit.rs | 1 + 1 file changed, 1 insertion(+) (limited to 'src') diff --git a/src/source_unit.rs b/src/source_unit.rs index bc6d4ab..1581b58 100644 --- a/src/source_unit.rs +++ b/src/source_unit.rs @@ -119,6 +119,7 @@ impl Symbol { /// True if this symbol is a valid definition for a reference symbol pub fn defines(&self, reference: &Symbol) -> bool { self.name == reference.name && + self.namespace.len() <= reference.namespace.len() && std::iter::zip(&self.namespace, &reference.namespace).all(|(a, b)| a == b) } } -- cgit v1.2.3-70-g09d2