http icon indicating copy to clipboard operation
http copied to clipboard

`cargo install https` warning

Open rickhg12hs opened this issue 2 years ago • 1 comments

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)

rickhg12hs avatar Aug 28 '23 08:08 rickhg12hs

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 avatar Aug 29 '23 23:08 nabijaczleweli

@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.

rickhg12hs avatar May 16 '25 10:05 rickhg12hs

Certainly looks like it! Thanks for the fix in #171, this will be released in 2.2.1.

nabijaczleweli avatar May 16 '25 12:05 nabijaczleweli

Released in v2.2.1.

nabijaczleweli avatar May 19 '25 21:05 nabijaczleweli