From 373ca5eda7bf809e3c69bb2ab1df3ffd16ae9350 Mon Sep 17 00:00:00 2001 From: Aleksey Kladov Date: Fri, 21 Dec 2018 14:16:23 +0300 Subject: [PATCH] add From for String --- lib/smol_str/src/lib.rs | 6 ++++++ lib/smol_str/tests/test.rs | 7 +++++++ 2 files changed, 13 insertions(+) diff --git a/lib/smol_str/src/lib.rs b/lib/smol_str/src/lib.rs index 85381b31fd..78b0103ef5 100644 --- a/lib/smol_str/src/lib.rs +++ b/lib/smol_str/src/lib.rs @@ -136,6 +136,12 @@ where } } +impl From for String { + fn from(text: SmolStr) -> Self { + text.to_string() + } +} + const INLINE_CAP: usize = 22; const N_NEWLINES: usize = 32; const N_SPACES: usize = 128; diff --git a/lib/smol_str/tests/test.rs b/lib/smol_str/tests/test.rs index f015f2fe77..94ab66dacb 100644 --- a/lib/smol_str/tests/test.rs +++ b/lib/smol_str/tests/test.rs @@ -20,6 +20,13 @@ fn assert_traits() { f::(); } +#[test] +fn conversions() { + let s: SmolStr = "Hello, World!".into(); + let s: String = s.into(); + assert_eq!(s, "Hello, World!") +} + fn check_props(s: &str) -> Result<(), proptest::test_runner::TestCaseError> { let smol = SmolStr::new(s); prop_assert_eq!(smol.as_str(), s);