【发布时间】:2018-02-25 14:15:41
【问题描述】:
我正在使用 Rust 和 Diesel:
fn create_asset_from_object(assets: &HashMap<String, Assets_Json>) {
let connection: PgConnection = establish_connection();
println!("==========================================================");
insert_Asset(&connection, &assets);
}
pub fn insert_Asset(conn: &PgConnection, assests: &HashMap<String, Assets_Json>){
use self::schema::assets;
for (currency, assetInfo) in assests {
let new_asset = self::models::NewAssets {
asset_name: ¤cy,
aclass: &assetInfo.aclass,
altname: &assetInfo.altname,
decimals: assetInfo.decimals,
display_decimals: assetInfo.display_decimals,
};
//let result = diesel::insert(&new_asset).into(assets::table).get_result(conn).expect("Error saving new post");
println!("result, {:#?}", diesel::insert(&new_asset).into(assets::table).get_result(conn).expect("Error saving new post"));
}
}
编译器错误:
error[E0282]: type annotations needed
--> src/persistence_service.rs:107:81
|
107 | println!("result, {:#?}", diesel::insert(&new_asset).into(assets::table).get_result(conn).expect("Error saving new post"));
| ^^^^^^^^^^ cannot infer type for `U`
【问题讨论】:
-
您的问题是什么?您刚刚粘贴了代码和一条错误消息。
-
无法推断“U”的问题。
-
问题很简单:如何解决编译问题?是的,罗伯特是正确的。
-
通过为
U提供类型。 -
我认为 OP 的混淆是正确的,因为客户端代码中没有
U,即使在错误消息中也没有U。那么如何开始搜索需要指定的U呢?我认为这是一个有效的问题。
标签: rust rust-diesel