From a6807f0bfb3d9543ae95b464fad3da284f7c1be2 Mon Sep 17 00:00:00 2001 From: microproofs Date: Wed, 31 May 2023 00:18:05 -0400 Subject: [PATCH] fix: seems like definition lookups weren't working Co-authored-by: Lucas Rosa --- crates/aiken-project/src/blueprint/definitions.rs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/crates/aiken-project/src/blueprint/definitions.rs b/crates/aiken-project/src/blueprint/definitions.rs index 98b7211f..eb8c3296 100644 --- a/crates/aiken-project/src/blueprint/definitions.rs +++ b/crates/aiken-project/src/blueprint/definitions.rs @@ -36,7 +36,7 @@ impl Definitions { /// Retrieve a definition, if it exists. pub fn lookup(&self, reference: &Reference) -> Option<&T> { self.inner - .get(reference.as_key()) + .get(&reference.to_json_pointer()) .map(|v| v .as_ref() .expect("All registered definitions are 'Some'. 'None' state is only transient during registration") @@ -111,6 +111,10 @@ impl Reference { pub(crate) fn as_json_pointer(&self) -> String { format!("#/definitions/{}", self.as_key().replace('/', "~1")) } + + pub(crate) fn to_json_pointer(&self) -> String { + self.as_key().replace("~1", "/") + } } impl Display for Reference {