summaryrefslogtreecommitdiff
path: root/dhall_syntax/src/core/text.rs
diff options
context:
space:
mode:
authorNadrieril Feneanar2019-09-03 17:29:49 +0200
committerGitHub2019-09-03 17:29:49 +0200
commitb263635ce54a28dc4598e0f2832a456eca7521fa (patch)
tree06377aaa05944f90280cc9eb6be1847c1a1cf01b /dhall_syntax/src/core/text.rs
parent249f31c030dc8cf8c2c8065409b3f7e87639aad3 (diff)
parentd0cc3ceb96870a6d951aab5afec1140404e67492 (diff)
Merge pull request #111 from Nadrieril/resolve-mut
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 {