summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteve George <steve@futurile.net>2023-06-23 17:56:46 +0100
committerEfraim Flashner <efraim@flashner.co.il>2023-10-02 11:40:11 +0300
commit248aa76885b051c09b60b27dc61898f6336d61a9 (patch)
tree7672c5e5d4115dfa65ae6c68ff0d03e790ef11d8
parent15693e8714fad6b8ca40a99c3c3c201d714a845d (diff)
gnu: Add rust-enum-dispatch-0.3.
* gnu/packages/crates-io.scm (rust-enum-dispatch-0.3): New variable. Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
-rw-r--r--gnu/packages/crates-io.scm39
1 files changed, 39 insertions, 0 deletions
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 5c0933dd34..e3727f751e 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -22419,6 +22419,45 @@ accessor functions on enums.")
"This crate provides macros for deriving additional functionality for enums.")
(license (list license:expat license:asl2.0))))
+(define-public rust-enum-dispatch-0.3
+ (package
+ (name "rust-enum-dispatch")
+ (version "0.3.11")
+ (source (origin
+ (method url-fetch)
+ (uri (crate-uri "enum_dispatch" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1qlxlxjvy92s0fwcwlnd2cdkkyml1755xap2lq8v4812hsanxwqi"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin (substitute* "Cargo.toml"
+ (("\"= ?([[:digit:]]+(\\.[[:digit:]]+)*)" _ version)
+ (string-append "\"^" version)))))))
+ (build-system cargo-build-system)
+ (arguments
+ (list
+ #:skip-build? #t ; Needs newer version of rust-smol
+ #:cargo-inputs
+ `(("rust-once-cell" ,rust-once-cell-1)
+ ("rust-proc-macro2" ,rust-proc-macro2-1)
+ ("rust-quote" ,rust-quote-1)
+ ("rust-syn" ,rust-syn-1))
+ #:cargo-development-inputs
+ `(("rust-custom-derive" ,rust-custom-derive-0.1)
+ ("rust-enum-derive" ,rust-enum-derive-0.1)
+ ("rust-rand" ,rust-rand-0.6)
+ ("rust-serde" ,rust-serde-1)
+ ("rust-serde-json" ,rust-serde-json-1)
+ ("rust-smol" ,rust-smol-1))))
+ (home-page "https://gitlab.com/antonok/enum_dispatch")
+ (synopsis "Faster alternative to dynamically dispatched method calls")
+ (description
+ "This crate transforms your trait objects into concrete compound types,
+increasing their method call speed up to 10x.")
+ (license (list license:expat license:asl2.0))))
+
(define-public rust-enum-map-derive-0.4
(package
(name "rust-enum-map-derive")