-
Notifications
You must be signed in to change notification settings - Fork 172
Open
Milestone
Description
页码与行数
- 微信读书682页4行
文本或排版错误
暂无
代码错误
代码清单6-81 any的源码如下
#[inline]
#[stable(feature = "rust1", since = "1.0.0")]
fn any<F>(&mut self, f: F) -> bool
where
Self: Sized,
F: FnMut(Self::Item) -> bool,
{
#[inline]
fn check<T>(mut f: impl FnMut(T) -> bool) -> impl FnMut((), T) -> ControlFlow<()> {
move |(), x| {
if f(x) { ControlFlow::BREAK } else { ControlFlow::CONTINUE }
}
}
self.try_fold((), check(f)) == ControlFlow::BREAK
}
...
#[inline]
#[stable(feature = "iterator_try_fold", since = "1.27.0")]
fn try_fold<B, F, R>(&mut self, init: B, mut f: F) -> R
where
Self: Sized,
F: FnMut(B, Self::Item) -> R,
R: Try<Output = B>,
{
let mut accum = init;
while let Some(x) = self.next() {
accum = f(accum, x)?;
}
try { accum }
}期待在第二版中可以讲下 try
Rust版本
$ rustc -V
rustc 1.57.0-nightly (8f8092cc3 2021-09-28)
错误信息
无
Metadata
Metadata
Assignees
Labels
No labels