具有泛型参数类型的函数

Function with a generic parameter type

我正在使用 Rocket web 框架,我需要创建一个具有通用参数类型参数的函数:

use rocket_contrib::json::{Json, JsonValue};

fn bluid_succes_response<T>(data: T) ->  JsonValue  { 
    json!(data) 
}

这是我的错误:

the trait `dataStructures::parameters_structures::_::_serde::Serialize` is not implemented for `T`

我如何为像 T 这样的泛型类型实现 Serialize 特性,或者有其他方法可以解决这个问题吗?

您需要将泛型类型 T 限制为特征(在本例中为 Serialize):

use rocket_contrib::json::{Json, JsonValue};

fn bluid_succes_response<T: serde::Serialize>(data: T) ->  JsonValue  { 
    json!(data) 
}