diff options
Diffstat (limited to 'crates/shirabe/src/package/link.rs')
| -rw-r--r-- | crates/shirabe/src/package/link.rs | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/crates/shirabe/src/package/link.rs b/crates/shirabe/src/package/link.rs index 2233eb1..e41d431 100644 --- a/crates/shirabe/src/package/link.rs +++ b/crates/shirabe/src/package/link.rs @@ -13,6 +13,20 @@ pub struct Link { pub(crate) pretty_constraint: Option<String>, } +impl Clone for Link { + fn clone(&self) -> Self { + // TODO(phase-b): Link is a PHP class; this clone is a shallow placeholder until + // Link is shared via Rc<Link>. + Self { + source: self.source.clone(), + target: self.target.clone(), + constraint: self.constraint.clone_box(), + description: self.description.clone(), + pretty_constraint: self.pretty_constraint.clone(), + } + } +} + impl std::fmt::Debug for Link { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { f.debug_struct("Link") |
