easy-ext
An attribute macro for easily writing extension trait pattern.
Usage
Add this to your Cargo.toml
:
[]
= "0.2"
Compiler support: requires rustc 1.31+
Examples
use ext;
Code like this will be generated:
You can elide the trait name. Note that in this case, #[ext]
assigns a
random name, so you cannot import/export the generated trait.
use ext;
Visibility
The visibility of the generated extension trait inherits the visibility of
the item in the original impl
.
For example, if the method is pub
then the trait will also be pub
:
use ext;
// generate `pub trait ResultExt`
See documentation for more details.
License
Licensed under either of Apache License, Version 2.0 or MIT license at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.