我正在转换一些旧的 Rust 代码以在 1.0.0 上工作。我需要转换一个在字符上使用迭代器的函数,它曾经是这样写的:
fn f<I: Iterator<char>>(char_iter: I)
Run Code Online (Sandbox Code Playgroud)
现在Iterator不带参数,对的约束I只能是I: Iterator. 那么元素类型是I::Item。有没有办法表达I::Item=的约束char?(或者我应该完全以另一种方式这样做吗?)
fn f<I: Iterator<Item = char>>(char_iter: I)
Run Code Online (Sandbox Code Playgroud)
关联类型最近添加到语言中,并且更新了许多库类型以利用它们。例如,Iterator定义一种关联类型,名为Item。您可以通过编写关联类型的名称、等号和您需要的类型来对关联类型添加约束。
| 归档时间: |
|
| 查看次数: |
616 次 |
| 最近记录: |