mirror of
https://github.com/servo/servo.git
synced 2025-08-07 14:35:33 +01:00
Generalize LengthPercentageOrAuto impl to Generic Type (#30824)
* Generalize LengthPercentageOrAuto impl to Generic Type * review fix
This commit is contained in:
parent
a326a60c16
commit
9028c90332
1 changed files with 5 additions and 5 deletions
|
@ -68,13 +68,13 @@ impl<LengthPercentage> LengthPercentageOrAuto<LengthPercentage> {
|
|||
}
|
||||
}
|
||||
|
||||
impl<LengthPercentage> LengthPercentageOrAuto<LengthPercentage>
|
||||
impl<T> LengthPercentageOrAuto<T>
|
||||
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<LengthPercentage> {
|
||||
pub fn non_auto(&self) -> Option<T> {
|
||||
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<T>(&self, f: impl FnOnce(LengthPercentage) -> T) -> LengthPercentageOrAuto<T> {
|
||||
pub fn map<U>(&self, f: impl FnOnce(T) -> U) -> LengthPercentageOrAuto<U> {
|
||||
match self {
|
||||
LengthPercentageOrAuto::LengthPercentage(l) => {
|
||||
LengthPercentageOrAuto::LengthPercentage(f(l.clone()))
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue