小编Spi*_*pig的帖子

实现Iterator时的生命周期问题

我正在Iterator为几个结构实现特性并遇到一些问题.为什么执行IteratorRows显示错误?这是一个链接:到游乐场的链接

基本上为什么这不起作用?

struct Stripe<'a> {
    cells: &'a [u32],
}

struct Rows<'a> {
    foo: &'a Foo,
    vec: Vec<u32>,
    first: bool,
}

impl<'a> std::iter::Iterator for Rows<'a> {
    type Item = Stripe<'a>;
    fn next(&mut self) -> Option<Stripe<'a>> {
        if self.first {
            self.first = false;
            Some(
                Stripe {
                    cells: &self.vec[0..1],
                }
            )
        } else {
            None
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

iterator lifetime rust

5
推荐指数
1
解决办法
73
查看次数

标签 统计

iterator ×1

lifetime ×1

rust ×1