diff mbox series

[bug#64248,3/8] gnu: Add rust-enum-dispatch

Message ID 8f6ac6d9d485a50d76206ebf0a6c8721516fab32.1687539092.git.steve@futurile.net
State New
Headers show
Series [bug#64248,1/8] gnu: rust-strum: Update to 0.24.1. | expand

Commit Message

Steve George June 23, 2023, 4:56 p.m. UTC
* gnu/packages/crates-io.scm (rust-enum-dispatch): New variable.
---
 gnu/packages/crates-io.scm | 31 +++++++++++++++++++++++++++++++
 1 file changed, 31 insertions(+)
diff mbox series

Patch

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 44f51c8c11..b6ed862306 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -21487,6 +21487,37 @@  (define-public rust-enum-derive-0.1
      "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"))))
+    (build-system cargo-build-system)
+    (arguments
+     (list #:skip-build? #t
+           #: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) ;requires 1.0.136
+                                        ("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")