Skip to content
/ dylo Public

dylo generates "consumer" versions of your "module" crates.

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT
Notifications You must be signed in to change notification settings

bearcove/dylo

Repository files navigation

license: MIT/Apache-2.0 crates.io docs.rs

dylo

dylo takes a "module" crate and generates a "consumer" crate that knows how to build and load that original crate — and that exposes the exact same public API.

"modules" are cdylibs library crates that only expose "dyn compatible" traits.

"consumers" are rlib library crates (the default) that usually have fewer dependency, and only export set of dyn-compatible traits, along with the struct/enum types used in the public API.

dylo relies on code generation: the dylo-cli tool looks for annotations from the dylo proc-macro crate, to know which "impl Trait for TraitImpl" blocks should be used to generate public traits.

Although that pattern is doable by hand, dylo takes a lot of the human error and repetitive work out of the equation.

To learn more, read the various crate documentation in order:

About

dylo generates "consumer" versions of your "module" crates.

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Stars

Watchers

Forks

Sponsor this project

 

Languages