From 2f0b5eeae09bd880e4552bb83e44d9cd32571c58 Mon Sep 17 00:00:00 2001 From: Laurenz Date: Thu, 11 May 2023 11:27:00 +0200 Subject: More efficient introspection Switches from a mutable locator to one based on tracked chains and optimizes query performance. --- library/src/meta/reference.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'library/src/meta/reference.rs') diff --git a/library/src/meta/reference.rs b/library/src/meta/reference.rs index 68837b89..ceb1a3b2 100644 --- a/library/src/meta/reference.rs +++ b/library/src/meta/reference.rs @@ -130,7 +130,7 @@ impl Synthesize for RefElem { let target = self.target(); if vt.introspector.init() && !BibliographyElem::has(vt, &target.0) { if let Ok(elem) = vt.introspector.query_label(&target) { - self.push_element(Some(elem)); + self.push_element(Some(elem.into_inner())); return Ok(()); } } @@ -173,7 +173,7 @@ impl Show for RefElem { let supplement = match self.supplement(styles) { Smart::Auto | Smart::Custom(None) => None, Smart::Custom(Some(supplement)) => { - Some(supplement.resolve(vt, [elem.clone().into()])?) + Some(supplement.resolve(vt, [(*elem).clone().into()])?) } }; -- cgit v1.2.3