diff options
Diffstat (limited to 'library/src/meta/reference.rs')
| -rw-r--r-- | library/src/meta/reference.rs | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/library/src/meta/reference.rs b/library/src/meta/reference.rs index e84da56b..1616adb3 100644 --- a/library/src/meta/reference.rs +++ b/library/src/meta/reference.rs @@ -68,14 +68,14 @@ impl Show for RefNode { let target = self.target(); let supplement = self.supplement(styles); - let matches: Vec<_> = vt.locate(Selector::Label(self.target())).collect(); + let matches = vt.introspector.query(Selector::Label(self.target())); if !vt.locatable() || BibliographyNode::has(vt, &target.0) { if !matches.is_empty() { bail!(self.span(), "label occurs in the document and its bibliography"); } - return Ok(CiteNode::new(target.0) + return Ok(CiteNode::new(vec![target.0]) .with_supplement(match supplement { Smart::Custom(Some(Supplement::Content(content))) => Some(content), _ => None, @@ -133,8 +133,7 @@ impl Show for RefNode { bail!(self.span(), "cannot reference {}", target.id().name); }; - let loc = target.expect_field::<Location>("location"); - Ok(formatted.linked(Destination::Internal(loc))) + Ok(formatted.linked(Link::Node(target.stable_id().unwrap()))) } } |
