rust - 对创建在 rust 中循环 &mut self 的函数的正确方法感到困惑
问题描述
我正在尝试为一个结构创建一个函数,该结构在自身上循环调用一个函数,生命周期有问题
问题出在这个函数中
fn next<'b, 'out>(reader_: &mut Reader<B> ) -> Option<(&'out [u8], BytesStart<'out>)> {
let test = loop {
let Reader { reader, ns, buf } = reader_;
let e = reader
.read_namespaced_event(buf, ns)
.map(|(ns, e)| (ns.unwrap_or(&[]), e));
match e {
Ok((ns, Event::Start(start))) => {
break Some((ns, start));
}
_ => {}
}
};
test
}
我认为问题出在返回值上,但我不确定如何注释生命周期。
使用快速 XML。
解决方案
推荐阅读
- java - jaspersoft Studio 不适用于 JDK 11 或 JDK 15
- android - 如何在android中将数据从房间表插入另一个?
- react-native - 在整个应用程序中仅加载一次组件
- swift - 使用 Swift 在搜索栏中添加标签
- reactjs - 警告 - 列表中的每个孩子都应该有一个唯一的“关键”道具
- php - 来自 SQLite 的意外 SELECT 输出
- c - clang-11 说它支持 arm64_32 但是当我尝试使用“-march=arm64_32”时它说它不支持
- ios - 详细视图控制器中的大型导航栏
- raspberry-pi - Linux\ARM 上的 PyTorch(BeagleBone Black 或其他)
- python - 如何在 Python 中创建指数概率论文