easy-ext
An attribute macro for easily writing extension trait pattern.
Usage
Add this to your Cargo.toml:
[]
= "0.2"
The current easy-ext requires Rust 1.31 or later.
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, (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.
Contribution
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.