let borrowed2 = Cow::Borrowed("World!");
let borrow_empty = Cow::Borrowed("");
- let owned1: Cow<str> = Cow::Owned(String::from("Hi, "));
- let owned2: Cow<str> = Cow::Owned(String::from("Rustaceans!"));
- let owned_empty: Cow<str> = Cow::Owned(String::new());
+ let owned1: Cow<'_, str> = Cow::Owned(String::from("Hi, "));
+ let owned2: Cow<'_, str> = Cow::Owned(String::from("Rustaceans!"));
+ let owned_empty: Cow<'_, str> = Cow::Owned(String::new());
assert_eq!("Hello, World!", borrowed1.clone() + borrowed2.clone());
assert_eq!("Hello, Rustaceans!", borrowed1.clone() + owned2.clone());
let borrowed = Cow::Borrowed("Hello, ");
let borrow_empty = Cow::Borrowed("");
- let owned: Cow<str> = Cow::Owned(String::from("Hi, "));
- let owned_empty: Cow<str> = Cow::Owned(String::new());
+ let owned: Cow<'_, str> = Cow::Owned(String::from("Hi, "));
+ let owned_empty: Cow<'_, str> = Cow::Owned(String::new());
assert_eq!("Hello, World!", borrowed.clone() + "World!");
let borrowed2 = Cow::Borrowed("World!");
let borrow_empty = Cow::Borrowed("");
- let mut owned1: Cow<str> = Cow::Owned(String::from("Hi, "));
- let owned2: Cow<str> = Cow::Owned(String::from("Rustaceans!"));
- let owned_empty: Cow<str> = Cow::Owned(String::new());
+ let mut owned1: Cow<'_, str> = Cow::Owned(String::from("Hi, "));
+ let owned2: Cow<'_, str> = Cow::Owned(String::from("Rustaceans!"));
+ let owned_empty: Cow<'_, str> = Cow::Owned(String::new());
let mut s = borrowed1.clone();
s += borrow_empty.clone();
let mut borrowed = Cow::Borrowed("Hello, ");
let borrow_empty = Cow::Borrowed("");
- let mut owned: Cow<str> = Cow::Owned(String::from("Hi, "));
- let owned_empty: Cow<str> = Cow::Owned(String::new());
+ let mut owned: Cow<'_, str> = Cow::Owned(String::from("Hi, "));
+ let owned_empty: Cow<'_, str> = Cow::Owned(String::new());
let mut s = borrowed.clone();
s += "";
#[test]
fn check_cow_clone_from() {
- let mut c1: Cow<str> = Cow::Owned(String::with_capacity(25));
+ let mut c1: Cow<'_, str> = Cow::Owned(String::with_capacity(25));
let s: String = "hi".to_string();
assert!(s.capacity() < 25);
- let c2: Cow<str> = Cow::Owned(s);
+ let c2: Cow<'_, str> = Cow::Owned(s);
c1.clone_from(&c2);
assert!(c1.into_owned().capacity() >= 25);
+ let mut c3: Cow<'_, str> = Cow::Borrowed("bye");
+ c3.clone_from(&c2);
+ assert_eq!(c2, c3);
}