From f39b8465ab2b2959e820157412b962d8a778c267 Mon Sep 17 00:00:00 2001 From: CAD97 Date: Tue, 28 Apr 2020 21:33:48 -0400 Subject: [PATCH] Api needs to also give ArcBorrow --- examples/s_expressions.rs | 3 ++- src/api.rs | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/examples/s_expressions.rs b/examples/s_expressions.rs index 20363ac..97813c5 100644 --- a/examples/s_expressions.rs +++ b/examples/s_expressions.rs @@ -334,7 +334,8 @@ impl Atom { Some(op) } fn text(&self) -> &str { - match self.0.green().children().next() { + let green = self.0.green(); + match ArcBorrow::downgrade(green).children().next() { Some(rowan::NodeOrToken::Token(token)) => ArcBorrow::downgrade(token).text(), _ => unreachable!(), } diff --git a/src/api.rs b/src/api.rs index 3a38c66..84df679 100644 --- a/src/api.rs +++ b/src/api.rs @@ -165,8 +165,8 @@ impl SyntaxNode { self.raw.text() } - pub fn green(&self) -> &GreenNode { - ArcBorrow::downgrade(self.raw.green()) + pub fn green(&self) -> ArcBorrow<'_, GreenNode> { + self.raw.green() } pub fn parent(&self) -> Option> {