summaryrefslogtreecommitdiff
path: root/dhall_syntax/src/core/text.rs
diff options
context:
space:
mode:
authorNadrieril2019-09-03 16:24:07 +0200
committerNadrieril2019-09-03 17:01:25 +0200
commit79595b1ae1a12fa2414d4b6c3c4bb2f7a0a9c094 (patch)
tree8c2220cae7b37a03d787ed4a13c903bf8f58cdbf /dhall_syntax/src/core/text.rs
parent250525a05e1af17bb46ceb72879f471e54fb5091 (diff)
Resolve imports by mutating Expr instead of cloning it
Diffstat (limited to 'dhall_syntax/src/core/text.rs')
-rw-r--r--dhall_syntax/src/core/text.rs10
1 files changed, 10 insertions, 0 deletions
diff --git a/dhall_syntax/src/core/text.rs b/dhall_syntax/src/core/text.rs
index 10fd68a..e17f00f 100644
--- a/dhall_syntax/src/core/text.rs
+++ b/dhall_syntax/src/core/text.rs
@@ -76,6 +76,16 @@ impl<SubExpr> InterpolatedText<SubExpr> {
})
}
+ pub fn traverse_mut<'a, E, F>(&'a mut self, mut f: F) -> Result<(), E>
+ where
+ F: FnMut(&'a mut SubExpr) -> Result<(), E>,
+ {
+ for (e, _) in &mut self.tail {
+ f(e)?
+ }
+ Ok(())
+ }
+
pub fn iter<'a>(
&'a self,
) -> impl Iterator<Item = InterpolatedTextContents<&'a SubExpr>> + 'a {