K

Size: a a a
K

M

r
impl AsRef<OsStr> for str . Значит выбирается impl<T: ?Sized + AsRef<OsStr>, '_> From<&'_ T> for PathBuf где T = strK
impl AsRef<OsStr> for str . Значит выбирается impl<T: ?Sized + AsRef<OsStr>, '_> From<&'_ T> for PathBuf где T = strв🧇
Result<T, Vec<E>> из итератора Result<T, E>?fn flip<L, R>(either: Result<L, R>) -> Result<R, L> {
match either {
Ok(l) => Err(l),
Err(r) => Ok(r),
}
}
flip(iter.map(flip).collect())K
Result<T, Vec<E>> из итератора Result<T, E>?fn flip<L, R>(either: Result<L, R>) -> Result<R, L> {
match either {
Ok(l) => Err(l),
Err(r) => Ok(r),
}
}
flip(iter.map(flip).collect())V
Result<T, Vec<E>> из итератора Result<T, E>?fn flip<L, R>(either: Result<L, R>) -> Result<R, L> {
match either {
Ok(l) => Err(l),
Err(r) => Ok(r),
}
}
flip(iter.map(flip).collect())EG
panic = 'abort'?в🧇
Result<_, _<_>>, но наоборотMF
BV
АМ
Result<T, Vec<E>> из итератора Result<T, E>?fn flip<L, R>(either: Result<L, R>) -> Result<R, L> {
match either {
Ok(l) => Err(l),
Err(r) => Ok(r),
}
}
flip(iter.map(flip).collect())[Err(1), Ok(2), Err(3)]Странно что нет флипа в стандартном
.iter()
.try_fold(vec![], |mut acc, x| x.map(Err).unwrap_or_else(|err| {
acc.push(err);
Ok(acc)
}))
.map(Err)
.unwrap_or_else(Ok);
Result.MB
[Err(1), Ok(2), Err(3)]Странно что нет флипа в стандартном
.iter()
.try_fold(vec![], |mut acc, x| x.map(Err).unwrap_or_else(|err| {
acc.push(err);
Ok(acc)
}))
.map(Err)
.unwrap_or_else(Ok);
Result.DS
АМ
[Err(1), Ok(2), Err(3)]
.iter()
.map(|x| x.map(Err).unwrap_or_else(Ok))
.collect::<Result<Vec<_>, _>>()
.map(Err)
.unwrap_or_else(Ok);
x.map(Err).unwrap_or_else(Ok).в🧇
АМ
iter
.map(|x| x.map(Err).unwrap_or_else(Ok))
.collect()
.map(Err)
.unwrap_or_else(Ok)
АМ
collect это не прокатит.L
Result<_, _<_>>, но наоборотL
Result<_, _<_>>, но наоборот