Skip to content

Commit 0c21992

Browse files
Merge pull request #210 from iqlusioninc/secrecy/cloneable-secret
secrecy: Add CloneableSecret marker trait
2 parents d585892 + ec6bf06 commit 0c21992

File tree

1 file changed

+14
-0
lines changed

1 file changed

+14
-0
lines changed

secrecy/src/lib.rs

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,17 @@ where
5454
}
5555
}
5656

57+
impl<S> Clone for Secret<S>
58+
where
59+
S: CloneableSecret,
60+
{
61+
fn clone(&self) -> Self {
62+
Secret {
63+
inner_secret: self.inner_secret.clone(),
64+
}
65+
}
66+
}
67+
5768
impl<S> Debug for Secret<S>
5869
where
5970
S: Zeroize + DebugSecret,
@@ -86,6 +97,9 @@ where
8697
}
8798
}
8899

100+
/// Marker trait for secrets which are allowed to be cloned
101+
pub trait CloneableSecret: Clone + Zeroize {}
102+
89103
/// Expose a reference to an inner secret
90104
pub trait ExposeSecret<S> {
91105
/// Expose secret

0 commit comments

Comments
 (0)