MST

星途 面试题库

面试题:Rust闭包作为函数参数的泛型与生命周期挑战

编写一个泛型函数,该函数接受一个闭包作为参数。闭包接受两个具有相同生命周期`'a`的任意类型`T`(该类型实现`Copy`和`std::ops::Mul` trait)的参数,并返回同样类型的结果。泛型函数对传入的两个`T`类型值应用闭包操作,并返回结果。请正确处理生命周期标注与泛型约束。
13.1万 热度难度
编程语言Rust

知识考点

AI 面试

面试题答案

一键面试
fn generic_function<'a, T>(closure: impl Fn(T, T) -> T, a: T, b: T) -> T
where
    T: Copy + std::ops::Mul<Output = T> + 'a,
{
    closure(a, b)
}