summary refs log tree commit diff
diff options
context:
space:
mode:
authorEfraim Flashner <efraim@flashner.co.il>2019-08-04 13:53:57 +0300
committerEfraim Flashner <efraim@flashner.co.il>2019-08-12 11:57:27 +0300
commitf22f05d901854add1208789919bca2e450f0f915 (patch)
tree223a39cd974e88e3e13b0c22d500494d819943e5
parent0c6759d87e00f954713b195100d0dc5febd3f9f6 (diff)
downloadguix-f22f05d901854add1208789919bca2e450f0f915.tar.gz
gnu: Add rust-peeking-take-while.
* gnu/packages/crates-io.scm (rust-peeking-take-while): New variable.
-rw-r--r--gnu/packages/crates-io.scm23
1 files changed, 23 insertions, 0 deletions
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index ac5d68ae4b..f8632518a2 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -371,6 +371,29 @@ whether an expression matches a pattern.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-peeking-take-while
+  (package
+    (name "rust-peeking-take-while")
+    (version "0.1.2")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "peeking_take_while" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "16bhqr6rdyrp12zv381cxaaqqd0pwysvm1q8h2ygihvypvfprc8r"))))
+    (build-system cargo-build-system)
+    (home-page "https://github.com/fitzgen/peeking_take_while")
+    (synopsis "Provides the peeking_take_while iterator adaptor method")
+    (description
+      "Like @code{Iterator::take_while}, but calls the predicate on a peeked
+value.  This allows you to use @code{Iterator::by_ref} and
+@code{Iterator::take_while} together, and still get the first value for which
+the @code{take_while} predicate returned false after dropping the @code{by_ref}.")
+    (license (list license:asl2.0
+                   license:expat))))
+
 (define-public rust-proc-macro2
   (package
     (name "rust-proc-macro2")