http: http broken in latest nightly
building http in the latest nightly of rust (2018-3-27 as of this writing) fails. A selection of the errors is below:
error: use of deprecated item 'std::ascii::AsciiExt': use inherent methods instead
--> src\uri\mod.rs:32:5
|
32 | use std::ascii::AsciiExt;
| ^^^^^^^^^^^^^^^^^^^^
|
note: lint level defined here
--> src\lib.rs:160:9
|
160| #![deny(warnings, missing_docs, missing_debug_implementations)]
| ^^^^^^^^
= note: #[deny(deprecated)] implied by #[deny(warnings)]
error[E0034]: multiple applicable items in scope
--> src\method.rs:325:9
|
325 | Method::try_from(t.as_bytes())
| ^^^^^^^^^^^^^^^^ multiple `try_from` found
|
= note: candidate #1 is defined in an impl of the trait `std::convert::TryFrom` for the type `_`
note: candidate #2 is defined in the trait `convert::HttpTryFrom`
--> src\convert.rs:22:5
|
22 | fn try_from(t: T) -> Result<Self, Self::Error>;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
= help: to disambiguate the method call, write `convert::HttpTryFrom::try_from(...)` instead
It would seem the recent stabilization of TryFrom
as well as the deprecation of AsciiExt
have broken http.
Side note: Is Rust allowed to cause breakage like this with new versions of the compiler? I would think that it would be problematic to do so. TryFrom
seems to be an issue since it is included in the prelude.
About this issue
- Original URL
- State: closed
- Created 6 years ago
- Comments: 15 (8 by maintainers)
Seems the change was reverted for now : https://github.com/rust-lang/rust/pull/49518
Yeah, we’ll be looking at the crater report that runs for the first beta.
Are you arguing that the http crate is inherently special and must never be broken?
Yeah, that’s probably what we’d do if we end up deciding to back the prelude part out. I don’t think prelude changes were formally covered in the epoch RFC but it definitely seems like something we would be able to do.