generics - 具有泛型参数类型的函数
问题描述
我正在使用 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`
如何Serialize
为泛型类型实现特征,T
或者是否有另一种方法来解决问题?
解决方案
您需要将泛型类型限制T
为特征(Serialize
在本例中):
use rocket_contrib::json::{Json, JsonValue};
fn bluid_succes_response<T: serde::Serialize>(data: T) -> JsonValue {
json!(data)
}
推荐阅读
- c - i2c 传输,stm32f103 作为 Master,STOP 条件生成问题
- c# - 在 ASP.Net 中实现和生成多个动态 SiteMapNode
- json - 使用 `curl` 的 API 调用在 Swift 中不起作用
- jquery - 另一个表单的另一个 ajax 函数不起作用
- css - 如何显示行的交替红色和绿色?
- python - 如何获得方向
在tkinter? - c - 为什么 scanf_s 不能在 Visual Studio 以外的任何地方工作?
- c++ - r 值引用是如何在这里传递的?
- javascript - 为什么我的搜索查询结果不佳?
- c++ - 为什么 clang 不能将元组的构造限制为显式?