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 + +[](https://crates.io/crates/extend) +[](https://docs.rs/extend) +[](https://deps.rs/repo/github/davidpdrsn/extend) +[](https://github.com/davidpdrsn/extend/actions) + + +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 |