mirror of
https://github.com/servo/servo.git
synced 2025-08-07 22:45:34 +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
|
where
|
||||||
LengthPercentage: Clone,
|
T: Clone,
|
||||||
{
|
{
|
||||||
/// Resolves `auto` values by calling `f`.
|
/// Resolves `auto` values by calling `f`.
|
||||||
#[inline]
|
#[inline]
|
||||||
pub fn auto_is(&self, f: impl FnOnce() -> LengthPercentage) -> LengthPercentage {
|
pub fn auto_is(&self, f: impl FnOnce() -> T) -> T {
|
||||||
match self {
|
match self {
|
||||||
LengthPercentageOrAuto::LengthPercentage(length) => length.clone(),
|
LengthPercentageOrAuto::LengthPercentage(length) => length.clone(),
|
||||||
LengthPercentageOrAuto::Auto => f(),
|
LengthPercentageOrAuto::Auto => f(),
|
||||||
|
@ -83,7 +83,7 @@ where
|
||||||
|
|
||||||
/// Returns the non-`auto` value, if any.
|
/// Returns the non-`auto` value, if any.
|
||||||
#[inline]
|
#[inline]
|
||||||
pub fn non_auto(&self) -> Option<LengthPercentage> {
|
pub fn non_auto(&self) -> Option<T> {
|
||||||
match self {
|
match self {
|
||||||
LengthPercentageOrAuto::LengthPercentage(length) => Some(length.clone()),
|
LengthPercentageOrAuto::LengthPercentage(length) => Some(length.clone()),
|
||||||
LengthPercentageOrAuto::Auto => None,
|
LengthPercentageOrAuto::Auto => None,
|
||||||
|
@ -91,7 +91,7 @@ where
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Maps the length of this value.
|
/// 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 {
|
match self {
|
||||||
LengthPercentageOrAuto::LengthPercentage(l) => {
|
LengthPercentageOrAuto::LengthPercentage(l) => {
|
||||||
LengthPercentageOrAuto::LengthPercentage(f(l.clone()))
|
LengthPercentageOrAuto::LengthPercentage(f(l.clone()))
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue