`cargo install https` warning
Near the end of cargo install https, the following warning is shown:
warning: the following packages contain code that will be rejected by a future version of Rust: traitobject v0.1.0
note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
Version info:
$ cargo --version
cargo 1.72.0 (103a7ff2e 2023-08-15)
$ rustc --version
rustc 1.72.0 (5680fa18f 2023-08-23)
Yeah I've been seeing this in the builds since at least https://debian.nabijaczleweli.xyz/builds/http_1.13.0-1_amd64.build (2023-07-15 19:27:52). Apparently it's https://github.com/rust-lang/rust/issues/56484#issuecomment-1597291663. Very cool and normal to break existing code for no reason. Will burn that bridge when it comes to it.
@nabijaczleweli Has that bridge arrived?
$ RUSTC_BOOTSTRAP=1 cargo install --git https://github.com/thecoshman/http.git -f
Updating git repository `https://github.com/thecoshman/http.git`
Installing https v2.2.0 (https://github.com/thecoshman/http.git#dff87d17)
Updating crates.io index
Updating git repository `https://github.com/reem/rust-traitobject`
Locking 147 packages to latest compatible versions
Adding base64 v0.10.1 (available: v0.22.1)
Adding brotli v6.0.0 (available: v8.0.1)
Adding cidr v0.1.1 (available: v0.3.1)
Adding clap v2.34.0 (available: v4.5.38)
Adding embed-resource v1.8.0 (available: v3.0.2)
Adding mime_guess v1.8.8 (available: v2.0.5)
Adding time v0.1.45 (available: v0.3.41)
Adding wasi v0.10.0+wasi-snapshot-preview1 (available: v0.10.2+wasi-snapshot-preview1)
Downloaded cc v1.2.23
Downloaded 1 crate (104.0KiB) in 0.30s
Compiling libc v0.2.172
Compiling version_check v0.1.5
Compiling shlex v1.3.0
Compiling autocfg v1.4.0
Compiling cc v1.2.23
Compiling unicase v1.4.2
Compiling autocfg v0.1.8
Compiling rand_core v0.4.2
Compiling proc-macro2 v1.0.95
Compiling rand_core v0.3.1
Compiling unicode-ident v1.0.18
Compiling serde v1.0.219
Compiling pkg-config v0.3.32
Compiling cfg-if v1.0.0
Compiling vcpkg v0.2.15
Compiling quote v1.0.40
Compiling rand_pcg v0.1.2
Compiling rand_chacha v0.1.1
Compiling log v0.4.27
Compiling tinyvec_macros v0.1.1
Compiling tinyvec v1.9.0
Compiling openssl-sys v0.9.108
Compiling syn v2.0.101
Compiling rand v0.6.5
Compiling crossbeam-utils v0.8.21
Compiling siphasher v0.2.3
Compiling phf_shared v0.7.24
Compiling unicode-normalization v0.1.24
Compiling log v0.3.9
Compiling rand_xorshift v0.1.1
Compiling rand_hc v0.1.0
Compiling rand_os v0.1.3
Compiling rand_isaac v0.1.1
Compiling rand_jitter v0.1.4
Compiling unicode-bidi v0.3.18
Compiling semver v1.0.26
Compiling bitflags v2.9.1
Compiling httparse v1.10.1
Compiling matches v0.1.10
Compiling idna v0.1.5
Compiling mime v0.2.6
Compiling safemem v0.3.3
Compiling foreign-types-shared v0.1.1
Compiling byteorder v1.5.0
Compiling percent-encoding v1.0.1
Compiling openssl v0.10.72
Compiling url v1.7.2
Compiling crossbeam-channel v0.5.15
Compiling base64 v0.9.3
Compiling foreign-types v0.3.2
Compiling phf_generator v0.7.24
Compiling openssl-macros v0.1.1
Compiling time v0.1.45
Compiling num_cpus v1.16.0
Compiling traitobject v0.1.0 (https://github.com/reem/rust-traitobject?rev=b3471a15917b2caf5a8b27debb0b4b390fc6634f#b3471a15)
error[E0119]: conflicting implementations of trait `Trait` for type `(dyn Send + Sync + 'static)`
--> /home/rick/.cargo/git/checkouts/rust-traitobject-8e14b5fe98a3a132/b3471a1/src/impls.rs:72:1
|
71 | unsafe impl Trait for ::std::marker::Send + Sync { }
| ------------------------------------------------ first implementation here
72 | unsafe impl Trait for ::std::marker::Send + Send + Sync { }
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `(dyn Send + Sync + 'static)`
error[E0119]: conflicting implementations of trait `Trait` for type `(dyn Send + Sync + 'static)`
--> /home/rick/.cargo/git/checkouts/rust-traitobject-8e14b5fe98a3a132/b3471a1/src/impls.rs:73:1
|
71 | unsafe impl Trait for ::std::marker::Send + Sync { }
| ------------------------------------------------ first implementation here
72 | unsafe impl Trait for ::std::marker::Send + Send + Sync { }
73 | unsafe impl Trait for ::std::marker::Sync + Send { }
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `(dyn Send + Sync + 'static)`
error[E0119]: conflicting implementations of trait `Trait` for type `(dyn Send + Sync + 'static)`
--> /home/rick/.cargo/git/checkouts/rust-traitobject-8e14b5fe98a3a132/b3471a1/src/impls.rs:75:1
|
71 | unsafe impl Trait for ::std::marker::Send + Sync { }
| ------------------------------------------------ first implementation here
...
75 | unsafe impl Trait for ::std::marker::Sync + Send + Sync { }
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `(dyn Send + Sync + 'static)`
For more information about this error, try `rustc --explain E0119`.
error: could not compile `traitobject` (lib) due to 3 previous errors
warning: build failed, waiting for other jobs to finish...
error: failed to compile `https v2.2.0 (https://github.com/thecoshman/http.git#dff87d17)`, intermediate artifacts can be found at `/tmp/cargo-installzwgIUe`.
To reuse those artifacts with a future compilation, set the environment variable `CARGO_TARGET_DIR` to that path.
Certainly looks like it! Thanks for the fix in #171, this will be released in 2.2.1.
Released in v2.2.1.