小编que*_*ter的帖子

在 Rust 中,什么时候键入 function::<type>()?

在 Rocket 文档中,我发现了这种结构

request.guard::<&State<MyConfig>>().await
Run Code Online (Sandbox Code Playgroud)

我理解等待,&但这func::<type>()部分与我在其他主流语言(func()如 C++、C#、Java、python)中看到的完全不同......可能最好的答案是将我指向正确的阅读材料,因为它不是特定于框架的

types compilation rust

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

Rust:如何将 `iter().map()` 或 `iter().enumarate()` 分配给同一个变量

struct A {...whatever...};
const MY_CONST_USIZE:usize = 127;


// somewhere in function

// vec1_of_A:Vec<A> vec2_of_A_refs:Vec<&A> have values from different data sources and have different inside_item types
let my_iterator;
if my_rand_condition() { // my_rand_condition is random and compiles for sake of simplicity
    my_iterator = vec1_of_A.iter().map(|x| (MY_CONST_USIZE, &x)); // Map<Iter<Vec<A>>>
} else {
    my_iterator = vec2_of_A_refs.iter().enumerate(); // Enumerate<Iter<Vec<&A>>>
}
Run Code Online (Sandbox Code Playgroud)

如何使这段代码编译?

最后(基于条件)我希望迭代器能够从两个输入构建,但我不知道如何将这些MapEnumerate类型集成到单个变量中,而不调用collect()将迭代器具体化为Vec

欢迎阅读材料

iterator functional-programming type-conversion rust

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