summaryrefslogtreecommitdiff
path: root/library/src/meta/reference.rs
diff options
context:
space:
mode:
authorLaurenz <laurmaedje@gmail.com>2023-05-11 11:27:00 +0200
committerLaurenz <laurmaedje@gmail.com>2023-05-11 11:27:00 +0200
commit2f0b5eeae09bd880e4552bb83e44d9cd32571c58 (patch)
tree6989d423e6bb614b3224be53140e4d649033aeac /library/src/meta/reference.rs
parent47dff3765de863554ca296448555599fc50d4a8a (diff)
More efficient introspection
Switches from a mutable locator to one based on tracked chains and optimizes query performance.
Diffstat (limited to 'library/src/meta/reference.rs')
-rw-r--r--library/src/meta/reference.rs4
1 files changed, 2 insertions, 2 deletions
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()])?)
}
};