MST
星途 面试题库

面试题:Rust泛型函数与trait bounds的复杂应用

编写一个Rust泛型函数,该函数接受一个实现了`Iterator` trait的迭代器作为参数,迭代器中的元素类型需要实现`Copy`和`Add` trait。函数将迭代器中的所有元素相加并返回结果。
24.9万 热度难度
编程语言Rust

知识考点

AI 面试

面试题答案

一键面试
fn sum_iter<T>(iter: T) -> <T::Item as std::ops::Add>::Output
where
    T: Iterator,
    T::Item: Copy + std::ops::Add<Output = T::Item>,
{
    iter.fold(Default::default(), |acc, item| acc + item)
}