Move let_cxx_string's $value evaluation outside of unsafe block
diff --git a/src/cxx_string.rs b/src/cxx_string.rs
index a2bd72b..10abbce 100644
--- a/src/cxx_string.rs
+++ b/src/cxx_string.rs
@@ -73,7 +73,9 @@
     ($var:ident = $value:expr $(,)?) => {
         let mut $var = $crate::private::StackString::new();
         #[allow(unused_mut, unused_unsafe)]
-        let mut $var = unsafe { $var.init($value) };
+        let mut $var = match $value {
+            let_cxx_string => unsafe { $var.init(let_cxx_string) },
+        };
     };
 }