Implement the Debug trait in a more user-friendly way.

Emmanuel Gil Peyrot created

Change summary

src/lib.rs | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)

Detailed changes

src/lib.rs 🔗

@@ -24,7 +24,7 @@ pub enum JidParseError {
 ///  - A node/name, `node`, which is the optional part before the @.
 ///  - A domain, `domain`, which is the mandatory part after the @ but before the /.
 ///  - A resource, `resource`, which is the optional part after the /.
-#[derive(Debug, Clone, PartialEq, Eq)]
+#[derive(Clone, PartialEq, Eq)]
 pub struct Jid {
     /// The node part of the Jabber ID, if it exists, else None.
     pub node: Option<String>,
@@ -50,6 +50,13 @@ impl From<Jid> for String {
     }
 }
 
+impl fmt::Debug for Jid {
+    fn fmt(&self, fmt: &mut fmt::Formatter) -> Result<(), fmt::Error> {
+        write!(fmt, "JID({})", self)?;
+        Ok(())
+    }
+}
+
 impl fmt::Display for Jid {
     fn fmt(&self, fmt: &mut fmt::Formatter) -> Result<(), fmt::Error> {
         fmt.write_str(String::from(self.clone()).as_ref())?;