From de5978be95baa646d417754ce3c2f73617614db7 Mon Sep 17 00:00:00 2001 From: ekexium Date: Tue, 10 Nov 2020 16:40:37 +0800 Subject: [PATCH] doc: ToOwnedRange Signed-off-by: ekexium --- src/kv/bound_range.rs | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/src/kv/bound_range.rs b/src/kv/bound_range.rs index d018184..f2fee6c 100644 --- a/src/kv/bound_range.rs +++ b/src/kv/bound_range.rs @@ -238,11 +238,34 @@ impl From for BoundRange { } /// A convenience trait for converting ranges of borrowed types into a `BoundRange`. +/// +/// # Examples +/// ```rust +/// # use tikv_client::{ToOwnedRange, BoundRange}; +/// # use std::ops::{Range, RangeFrom, RangeInclusive}; +/// let r1: Range<&str> = "s".."e"; +/// let r1: BoundRange = r1.to_owned(); +/// +/// let r2: RangeFrom<&str> = "start"..; +/// let r2: BoundRange = r2.to_owned(); +/// +/// let r3: RangeInclusive<&str> = "s"..="e"; +/// let r3: BoundRange = r3.to_owned(); +/// +/// let k1: Vec = "start".to_owned().into_bytes(); +/// let k2: Vec = "end".to_owned().into_bytes(); +/// let r4: BoundRange = (&k1, &k2).to_owned(); +/// let r5: BoundRange = (&k1, None).to_owned(); +/// let r6: BoundRange = (&k1, Some(&k2)).to_owned(); +/// ``` pub trait ToOwnedRange { /// Transform a borrowed range of some form into an owned `BoundRange`. fn to_owned(self) -> BoundRange; } +#[test] +fn test_to_owned() {} + impl + Borrow, U: ToOwned + ?Sized> ToOwnedRange for Range<&U> { fn to_owned(self) -> BoundRange { From::from(Range {