gpt4 book ai didi

rust - 我如何在 Rust 中使用未调整大小的类型/特征?

转载 作者:行者123 更新时间:2023-11-29 08:03:59 26 4
gpt4 key购买 nike

<分区>

我有以下内容

trait T {}
type Iter = fn() -> Iterator<Item = T>;

fn func(iter: Iter) {
for a in iter() {
// ...
}
}

我希望 iter 返回具有移动语义的迭代器,因此我不必返回 &Iterator。问题是,Iterator 是一个特征,所以它没有大小。上面的代码得到一个编译错误,指出 Iterable 不满足 Sized 特性,因为所有局部变量都必须静态调整大小。

除此之外,T 也是一个特征,因此没有大小,所以我也不能将 a 绑定(bind)到它,因为它没有大小。

我是 Rust 的新手,所以这真的让我很困惑。如何使用未调整大小的类型?

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com