Add Str(const String &) noexcept constructor
diff --git a/src/cxx.cc b/src/cxx.cc
index ef5db8f..c9e2151 100644
--- a/src/cxx.cc
+++ b/src/cxx.cc
@@ -150,6 +150,8 @@
 
 Str::Str() noexcept : ptr(reinterpret_cast<const char *>(1)), len(0) {}
 
+Str::Str(const String &s) noexcept : ptr(s.data()), len(s.length()) {}
+
 static void initStr(const char *ptr, size_t len) {
   if (!cxxbridge1$str$valid(ptr, len)) {
     panic<std::invalid_argument>("data for rust::Str is not utf-8");