Rust 无法创建hyper::Client,因为编译器无法推断足够的类型信息

Rust 无法创建hyper::Client,因为编译器无法推断足够的类型信息,rust,type-inference,hyper,Rust,Type Inference,Hyper,为了试验Hyper,我从。撇开示例未编译(在'client`中没有'get'方法)这一事实不谈,我将我的问题归结为一行: fn temp() { let client = Client::new(); } 此代码不会编译: 无法推断有关``的足够类型信息;需要类型批注或泛型参数绑定[E0282] 一般来说,此错误意味着客户端有一些通用参数,编译器无法推断它的值。你得想办法说出来 下面是使用std::vec::vec的示例: use std::vec::Vec; fn problem(

为了试验Hyper,我从。撇开示例未编译(
在'client`
中没有'get'方法)这一事实不谈,我将我的问题归结为一行:

fn temp() {
    let client = Client::new();
}
此代码不会编译:

无法推断有关``的足够类型信息;需要类型批注或泛型参数绑定[E0282]

一般来说,此错误意味着
客户端
有一些通用参数,编译器无法推断它的值。你得想办法说出来

下面是使用
std::vec::vec
的示例:

use std::vec::Vec;

fn problem() {
    let v = Vec::new(); // Problem, which Vec<???> do you want?
}

fn solution_1() {
    let mut v = Vec::<i32>::new(); // Tell the compiler directly
}

fn solution_2() {
    let mut v: Vec<i32> = Vec::new(); // Tell the compiler by specifying the type
}

fn solution_3() {
    let mut v = Vec::new();
    v.push(1); // Tell the compiler by using it
}
使用std::vec::vec;
fn问题(){
让v=Vec::new();//问题,您想要哪个Vec?
}
fn解决方案_1(){
让mut v=Vec:::new();//直接告诉编译器
}
fn解决方案_2(){
让mut v:Vec=Vec::new();//通过指定类型告诉编译器
}
fn解决方案_3(){
让mut v=Vec::new();
v、 push(1);//使用它告诉编译器
}

但是
hyper::client::client
没有任何通用参数。您确定要实例化的
客户端是Hyper中的客户端吗?

我自己尝试过,但无法重现错误。您是否有
extern-crater-hyper
使用hyper::Client在您的文件中?这是我的工作版本:将代码粘贴到我的main.rs中。同样的错误,好的。当我使用hyper-from-repo时,它会编译,当我使用hyper-from-hyper-repo hyper={git=”“}时,它不会编译。这也许可以解释为什么…是的,我使用hyper::Client。我有一个版本的代码,使用客户端,一切都很好,编译和运行。但当我想重构时,出现了这个错误。所以,有一个通用参数:但我,可能和你一样,查阅了另一个文档:其中没有通用参数