Ich arbeite an einem sehr einfachen HTTP-Client in Rust, gebaut auf der Oberseite der hyper
(GitHub, crates.io) Kiste.Warum scheitern mehrere Importe aus der Hyper-Kiste?
Wenn ich versuche, die examples/client.rs
Datei in einem neuen Cargo-Projekt zu replizieren cargo build
mit (wie auch mit rustc src/main.rs
), erhalte ich durch gescheitert Einfuhren verursachten mehrere Fehler von hyper
.
Hier ist die Spitze meines main.rs
:
extern crate hyper;
use hyper::client::{Client, Request, Response, DefaultTransport as HttpStream};
use hyper::header::Connection;
use hyper::{Decoder, Encoder, Next};
Der Rest der Datei ist, mit Ausnahme einiger Kommentare, identisch mit der examples/client.rs
Datei aus dem hyper
Repository.
Beim Kompilieren, ich die folgenden Fehlermeldungen erhalten:
src/main.rs:10:48: 10:78 error: unresolved import `hyper::client::DefaultTransport`. There is no `DefaultTransport` in `hyper::client` [E0432]
src/main.rs:10 use hyper::client::{Client, Request, Response, DefaultTransport as HttpStream};
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/main.rs:10:48: 10:78 help: run `rustc --explain E0432` to see a detailed explanation
src/main.rs:12:13: 12:20 error: unresolved import `hyper::Decoder`. There is no `Decoder` in `hyper` [E0432]
src/main.rs:12 use hyper::{Decoder, Encoder, Next};
^~~~~~~
src/main.rs:12:13: 12:20 help: run `rustc --explain E0432` to see a detailed explanation
src/main.rs:12:22: 12:29 error: unresolved import `hyper::Encoder`. There is no `Encoder` in `hyper` [E0432]
src/main.rs:12 use hyper::{Decoder, Encoder, Next};
^~~~~~~
src/main.rs:12:22: 12:29 help: run `rustc --explain E0432` to see a detailed explanation
src/main.rs:12:31: 12:35 error: unresolved import `hyper::Next`. There is no `Next` in `hyper` [E0432]
src/main.rs:12 use hyper::{Decoder, Encoder, Next};
^~~~
src/main.rs:12:31: 12:35 help: run `rustc --explain E0432` to see a detailed explanation
src/main.rs:53:6: 53:40 error: trait `hyper::client::Handler` is not in scope [E0405]
src/main.rs:53 impl hyper::client::Handler<HttpStream> for Dump {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/main.rs:53:6: 53:40 help: run `rustc --explain E0405` to see a detailed explanation
src/main.rs:53:6: 53:40 help: you can to import it into scope: `use hyper::server::Handler;`.
Falls es zu diesem Thema beitragen können, sind hier die Inhalte meiner Cargo.toml
:
name = "my_project"
version = "0.0.1"
authors = ["[email protected]"]
[dependencies]
getopts = "0.2"
hyper = "0.9.6"
[[bin]]
name = "my_project"
Einige der Importe tatsächlich funktioniert, also unter der Annahme, dass das Beispiel im Repository aktuell ist, kann ich wirklich nicht sagen, was falsch ist. Die Quelldateien der Kiste sehen so aus, als würden sie die involvierten Typen entlarven, aber ich bin sehr neu in Rust, so dass ich die Dateien vielleicht falsch interpretiere.
Welche Version von Hyper verwenden Sie? – squiguy
@squiguy 0.9.6, die neueste Version über crates.io. – Jules