MST

星途 面试题库

面试题:Rust类型转换与From/Into trait中的泛型与约束

编写一段Rust代码,使用From/Into trait实现一个泛型函数,该函数能够将任何实现了From trait的类型转换为目标类型,并且要处理类型转换失败的情况,同时需要在函数签名中体现合适的泛型约束。
47.2万 热度难度
编程语言Rust

知识考点

AI 面试

面试题答案

一键面试
use std::convert::From;

fn convert<T, U>(source: T) -> Result<U, &'static str>
where
    U: From<T>,
{
    match U::from(source) {
        Ok(result) => Ok(result),
        Err(_) => Err("类型转换失败"),
    }
}