diff --git a/components/style/values/generics/length.rs b/components/style/values/generics/length.rs index 57d9764a96f..2eb7050870f 100644 --- a/components/style/values/generics/length.rs +++ b/components/style/values/generics/length.rs @@ -68,13 +68,13 @@ impl LengthPercentageOrAuto { } } -impl LengthPercentageOrAuto +impl LengthPercentageOrAuto where - LengthPercentage: Clone, + T: Clone, { /// Resolves `auto` values by calling `f`. #[inline] - pub fn auto_is(&self, f: impl FnOnce() -> LengthPercentage) -> LengthPercentage { + pub fn auto_is(&self, f: impl FnOnce() -> T) -> T { match self { LengthPercentageOrAuto::LengthPercentage(length) => length.clone(), LengthPercentageOrAuto::Auto => f(), @@ -83,7 +83,7 @@ where /// Returns the non-`auto` value, if any. #[inline] - pub fn non_auto(&self) -> Option { + pub fn non_auto(&self) -> Option { match self { LengthPercentageOrAuto::LengthPercentage(length) => Some(length.clone()), LengthPercentageOrAuto::Auto => None, @@ -91,7 +91,7 @@ where } /// Maps the length of this value. - pub fn map(&self, f: impl FnOnce(LengthPercentage) -> T) -> LengthPercentageOrAuto { + pub fn map(&self, f: impl FnOnce(T) -> U) -> LengthPercentageOrAuto { match self { LengthPercentageOrAuto::LengthPercentage(l) => { LengthPercentageOrAuto::LengthPercentage(f(l.clone()))