pub const fn map_or<U, F>(self, default: U, f: F) -> U
where
F: ~const FnOnce(T) -> U,
F: ~const Drop,
U: ~const Drop,
{
match self {
Some(t) => f(t),
None => default,
}
}
您可以忽略FnOnce边界上的“~const”部分,也可以完全忽略“…:~const Drop”边界(它们也不会出现在文档中)。此语法是正在开发的不稳定语言特性的一部分。
在稳定的Rust上,此方法基本上是
impl<T> Option<T> {
pub fn map_or<U, F>(self, default: U, f: F) -> U
where
F: FnOnce(T) -> U,
{
match self {
Some(t) => f(t),
None => default,
}
}
}