From 36c913c2a0e80db7b8bedd071ff4f5b67b8606c1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Thu, 19 Nov 2020 18:39:17 +0200 Subject: [PATCH] glib: Implement Clone for glib::GString --- glib/src/gstring.rs | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/glib/src/gstring.rs b/glib/src/gstring.rs index ca49fda66367..a26153e6bd93 100644 --- a/glib/src/gstring.rs +++ b/glib/src/gstring.rs @@ -84,6 +84,14 @@ impl GString { } } +impl Clone for GString { + fn clone(&self) -> GString { + let cstring = CString::new(self.as_str().to_string()).expect("CString::new failed"); + + GString(Inner::Native(Some(cstring))) + } +} + impl Drop for GString { fn drop(&mut self) { if let GString(Inner::Foreign(ptr, _len)) = self {