Registry / utility / enum-dispatch

enum-dispatch

JSON →
library0.3.13rscratesunverified

Near drop-in replacement for dynamic-dispatched method calls with up to 10x the speed.

# Cargo.toml [dependencies] enum_dispatch = "0.3.13"
INSTALL
IMPORT
SIG · ENUM-DISPATCH
E
enum-dispatch
utilityrustv0.3.13
harness data pending
Install & Compatibility
Where this runs

No compatibility data collected yet for this library.

Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

enum_dispatch
use enum_dispatch::enum_dispatch;

Defines a trait and an enum that dispatches to its variants.

use enum_dispatch::enum_dispatch; #[enum_dispatch] trait MyTrait { fn do_something(&self) -> i32; } struct A; impl MyTrait for A { fn do_something(&self) -> i32 { 1 } } struct B; impl MyTrait for B { fn do_something(&self) -> i32 { 2 } } #[enum_dispatch(MyTrait)] enum MyEnum { A, B, } fn main() { let val = MyEnum::A; println!("{}", val.do_something()); }
Debug
Known issues
gotchaRequires nightly Rust for some features.
fix
Use stable Rust or check the crate's documentation for compatibility.
affects: >=0.1.0
Upgrade
Version history
0.3.13latest on crates.io
Audit
Dependencies

No dependency data recorded yet.

Agent activity
55 hits · last 30 days
node
43
Bingbot
9
Amazon
1
Resources
enum-dispatch — cargo add enum-dispatch · libregistry