diff options
| author | Ivan Molodetskikh <yalterz@gmail.com> | 2025-09-20 12:57:38 +0300 |
|---|---|---|
| committer | Ivan Molodetskikh <yalterz@gmail.com> | 2025-10-02 09:33:08 +0300 |
| commit | a2727ba2c9cfb22e4184235c6dfd8d8819328169 (patch) | |
| tree | dbde396598e3ac3483d8535ea62c2994ef2bbf70 /niri-config/src/utils | |
| parent | 8df6231cc164396e19a892f11beb8c02e2e88efb (diff) | |
| download | niri-a2727ba2c9cfb22e4184235c6dfd8d8819328169.tar.gz niri-a2727ba2c9cfb22e4184235c6dfd8d8819328169.tar.bz2 niri-a2727ba2c9cfb22e4184235c6dfd8d8819328169.zip | |
config: Introduce MergeWith trait
Diffstat (limited to 'niri-config/src/utils')
| -rw-r--r-- | niri-config/src/utils/merge_with.rs | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/niri-config/src/utils/merge_with.rs b/niri-config/src/utils/merge_with.rs new file mode 100644 index 00000000..857e2146 --- /dev/null +++ b/niri-config/src/utils/merge_with.rs @@ -0,0 +1,18 @@ +pub trait MergeWith<T> { + fn merge_with(&mut self, part: &T); + + fn merged_with(mut self, part: &T) -> Self + where + Self: Sized, + { + self.merge_with(part); + self + } + + fn from_part(part: &T) -> Self + where + Self: Default + Sized, + { + Self::default().merged_with(part) + } +} |
