From: Ian Jackson Date: Sun, 4 Feb 2024 14:09:14 +0000 (+0000) Subject: coloured_string: Simplify a macro X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?a=commitdiff_plain;h=5bf9a374fffec987d17f22de86c0169c1fa4e6a2;p=mastodonochrome.git coloured_string: Simplify a macro We can use a non-elided anonymous lifetime here, which makes the macro a lot simpler. --- diff --git a/src/coloured_string.rs b/src/coloured_string.rs index 01221ca..c35094a 100644 --- a/src/coloured_string.rs +++ b/src/coloured_string.rs @@ -213,8 +213,8 @@ impl<'a> ColouredStringSlice<'a> { // So instead let's do some macro business, to avoid copy-pasting four // times. macro_rules! impl_Add { - ($type:ty, $($life:lifetime)?) => { - impl<$($life,)? U: ColouredStringCommon> std::ops::Add for $type { + ($type:ty) => { + impl std::ops::Add for $type { type Output = ColouredString; fn add(self, rhs: U) -> ColouredString { ColouredString::concat(self, rhs) @@ -223,10 +223,10 @@ macro_rules! impl_Add { }; } -impl_Add!(ColouredString,); -impl_Add!(&ColouredString,); -impl_Add!(ColouredStringSlice<'a>, 'a); -impl_Add!(&ColouredStringSlice<'a>, 'a); +impl_Add!(ColouredString); +impl_Add!(&ColouredString); +impl_Add!(ColouredStringSlice<'_>); +impl_Add!(&ColouredStringSlice<'_>); pub struct ColouredStringCharIterator<'a> { cs: ColouredStringSlice<'a>,