diff options
Diffstat (limited to 'third_party/rust/extend/README.md')
-rw-r--r-- | third_party/rust/extend/README.md | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/third_party/rust/extend/README.md b/third_party/rust/extend/README.md new file mode 100644 index 0000000000..ffa19e951a --- /dev/null +++ b/third_party/rust/extend/README.md @@ -0,0 +1,32 @@ +# extend + +[![Crates.io](https://img.shields.io/crates/v/extend.svg)](https://crates.io/crates/extend) +[![Docs](https://docs.rs/extend/badge.svg)](https://docs.rs/extend) +[![dependency status](https://deps.rs/repo/github/davidpdrsn/extend/status.svg)](https://deps.rs/repo/github/davidpdrsn/extend) +[![Build status](https://github.com/davidpdrsn/extend/workflows/CI/badge.svg)](https://github.com/davidpdrsn/extend/actions) +![maintenance-status](https://img.shields.io/badge/maintenance-passively--maintained-yellowgreen.svg) + +Create extensions for types you don't own with [extension traits] but without the boilerplate. + +Example: + +```rust +use extend::ext; + +#[ext] +impl<T: Ord> Vec<T> { + fn sorted(mut self) -> Self { + self.sort(); + self + } +} + +fn main() { + assert_eq!( + vec![1, 2, 3], + vec![2, 3, 1].sorted(), + ); +} +``` + +[extension traits]: https://dev.to/matsimitsu/extending-existing-functionality-in-rust-with-traits-in-rust-3622 |