[GH-ISSUE #1597] 0.7.1 fails to build #728

Closed
opened 2026-02-27 19:32:10 +03:00 by kerem · 5 comments
Owner

Originally created by @txtsd on GitHub (Sep 23, 2025).
Original GitHub issue: https://github.com/librespot-org/librespot/issues/1597

I'm the maintainer of the librespot AUR package.

Building with cargo build --frozen --release --all-features --workspace fails:

   Compiling proc-macro2 v1.0.101
   Compiling unicode-ident v1.0.18
   Compiling libc v0.2.175
   Compiling cfg-if v1.0.3
   Compiling pkg-config v0.3.32
   Compiling serde v1.0.219
   Compiling autocfg v1.5.0
   Compiling hashbrown v0.15.5
   Compiling equivalent v1.0.2
   Compiling pin-project-lite v0.2.16
   Compiling winnow v0.7.13
   Compiling memchr v2.7.5
   Compiling smallvec v1.15.1
   Compiling futures-core v0.3.31
   Compiling shlex v1.3.0
   Compiling allocator-api2 v0.2.21
   Compiling indexmap v2.11.0
   Compiling cc v1.2.34
   Compiling quote v1.0.40
   Compiling syn v2.0.106
   Compiling libm v0.2.15
   Compiling foldhash v0.1.5
   Compiling object v0.36.7
   Compiling bitflags v2.9.3
   Compiling adler2 v2.0.1
   Compiling once_cell v1.21.3
   Compiling bytes v1.10.1
   Compiling miniz_oxide v0.8.9
   Compiling lock_api v0.4.13
   Compiling target-lexicon v0.13.2
   Compiling zeroize v1.8.1
   Compiling log v0.4.27
   Compiling gimli v0.31.1
   Compiling parking_lot_core v0.9.11
   Compiling rustc-demangle v0.1.26
   Compiling scopeguard v1.2.0
   Compiling fixedbitset v0.4.2
   Compiling petgraph v0.6.5
   Compiling thread-id v4.2.2
   Compiling heck v0.5.0
   Compiling futures-sink v0.3.31
   Compiling cfg-expr v0.20.2
   Compiling getrandom v0.2.16
   Compiling version-compare v0.2.0
   Compiling typenum v1.18.0
   Compiling version_check v0.9.5
   Compiling futures-io v0.3.31
   Compiling itoa v1.0.15
   Compiling slab v0.4.11
   Compiling socket2 v0.6.0
   Compiling signal-hook-registry v1.4.6
   Compiling mio v1.0.4
   Compiling generic-array v0.14.7
   Compiling num-traits v0.2.19
   Compiling pin-utils v0.1.0
   Compiling addr2line v0.24.2
   Compiling subtle v2.6.1
   Compiling futures-task v0.3.31
   Compiling synstructure v0.13.2
   Compiling ring v0.17.14
   Compiling rustls-pki-types v1.12.0
   Compiling backtrace v0.3.75
   Compiling fnv v1.0.7
   Compiling http v1.3.1
   Compiling thiserror v1.0.69
   Compiling const-oid v0.9.6
   Compiling parking_lot v0.12.4
   Compiling crypto-common v0.1.6
   Compiling untrusted v0.9.0
   Compiling stable_deref_trait v1.2.0
   Compiling zerocopy v0.8.26
   Compiling vcpkg v0.2.15
   Compiling spin v0.9.8
   Compiling lazy_static v1.5.0
   Compiling futures-channel v0.3.31
   Compiling getrandom v0.3.3
   Compiling serde_derive v1.0.219
   Compiling tokio-macros v2.5.0
   Compiling futures-macro v0.3.31
   Compiling zerofrom-derive v0.1.6
   Compiling tokio v1.47.1
   Compiling yoke-derive v0.8.0
   Compiling futures-util v0.3.31
   Compiling thiserror-impl v1.0.69
   Compiling zerocopy-derive v0.8.26
   Compiling zerofrom v0.1.6
   Compiling yoke v0.8.0
   Compiling openssl-sys v0.9.109
   Compiling zerovec-derive v0.11.1
   Compiling displaydoc v0.2.5
   Compiling zerovec v0.11.4
   Compiling block-buffer v0.10.4
   Compiling httparse v1.10.1
   Compiling rustversion v1.0.22
   Compiling openssl-probe v0.1.6
   Compiling digest v0.10.7
   Compiling tracing-attributes v0.1.30
   Compiling tracing-core v0.1.34
   Compiling ppv-lite86 v0.2.21
   Compiling anyhow v1.0.99
   Compiling toml_datetime v0.6.11
   Compiling serde_spanned v0.6.9
   Compiling toml_edit v0.22.27
   Compiling http-body v1.0.1
   Compiling openssl v0.10.73
   Compiling percent-encoding v2.3.2
   Compiling ident_case v1.0.1
   Compiling strsim v0.11.1
   Compiling foreign-types-shared v0.1.1
   Compiling rustix v1.0.8
   Compiling foreign-types v0.3.2
   Compiling tracing v0.1.41
   Compiling darling_core v0.20.11
   Compiling tokio-util v0.7.16
   Compiling tinystr v0.8.1
   Compiling openssl-macros v0.1.1
   Compiling num-integer v0.1.46
   Compiling tower-service v0.3.3
   Compiling native-tls v0.2.14
   Compiling httpdate v1.0.3
   Compiling writeable v0.6.1
   Compiling try-lock v0.2.5
   Compiling protobuf v3.7.2
   Compiling atomic-waker v1.1.2
   Compiling litemap v0.8.0
   Compiling toml v0.8.23
   Compiling proc-macro-crate v3.3.0
   Compiling icu_locale_core v2.0.0
   Compiling system-deps v7.0.5
   Compiling h2 v0.4.12
   Compiling want v0.3.1
   Compiling potential_utf v0.1.3
   Compiling zerotrie v0.2.2
   Compiling rustls v0.23.31
   Compiling base64 v0.22.1
   Compiling cpufeatures v0.2.17
   Compiling icu_normalizer_data v2.0.0
   Compiling thiserror v2.0.16
   Compiling icu_properties_data v2.0.1
   Compiling icu_provider v2.0.0
   Compiling icu_collections v2.0.0
   Compiling rustls-webpki v0.103.4
   Compiling glib-sys v0.21.1
   Compiling gobject-sys v0.21.1
   Compiling thiserror-impl v2.0.16
   Compiling darling_macro v0.20.11
   Compiling darling v0.20.11
   Compiling webpki-roots v1.0.2
   Compiling rand_core v0.6.4
   Compiling rustix v0.38.44
   Compiling hyper v1.7.0
   Compiling ipnet v2.11.0
   Compiling derive_builder_core v0.20.2
   Compiling hyper-util v0.1.16
   Compiling linux-raw-sys v0.9.4
   Compiling linux-raw-sys v0.4.15
   Compiling aho-corasick v1.1.3
   Compiling icu_properties v2.0.1
   Compiling icu_normalizer v2.0.0
   Compiling derive_builder_macro v0.20.2
   Compiling protobuf-support v3.7.2
   Compiling tokio-native-tls v0.3.1
   Compiling rand_chacha v0.3.1
   Compiling rand_core v0.9.3
   Compiling num-bigint v0.4.6
   Compiling vergen-lib v0.1.6
   Compiling either v1.15.0
   Compiling regex-syntax v0.8.6
   Compiling home v0.5.11
   Compiling fastrand v2.3.0
   Compiling base64ct v1.8.0
   Compiling powerfmt v0.2.0
   Compiling deranged v0.4.0
   Compiling tempfile v3.21.0
   Compiling pem-rfc7468 v0.7.0
   Compiling which v4.4.2
   Compiling rand_chacha v0.9.0
   Compiling rand v0.8.5
   Compiling idna_adapter v1.2.1
   Compiling derive_builder v0.20.2
   Compiling tokio-rustls v0.26.2
   Compiling gstreamer-sys v0.24.0
   Compiling vergen v9.0.6
   Compiling form_urlencoded v1.2.2
   Compiling http-body-util v0.1.3
   Compiling regex-automata v0.4.10
   Compiling rustls-native-certs v0.8.1
   Compiling sync_wrapper v1.0.2
   Compiling num_threads v0.1.7
   Compiling tower-layer v0.3.3
   Compiling rustls v0.22.4
   Compiling byteorder v1.5.0
   Compiling time-core v0.1.4
   Compiling utf8_iter v1.0.4
   Compiling ryu v1.0.20
   Compiling num-conv v0.1.0
   Compiling bitflags v1.3.2
   Compiling time v0.3.41
   Compiling idna v1.1.0
   Compiling tower v0.5.2
   Compiling protobuf-parse v3.7.2
   Compiling regex v1.11.2
   Compiling hyper-tls v0.6.0
   Compiling rand v0.9.2
   Compiling der v0.7.10
   Compiling sha1 v0.10.6
   Compiling vergen-gitcl v1.0.8
   Compiling rustls-webpki v0.102.8
   Compiling num-derive v0.4.2
   Compiling static_assertions v1.1.0
   Compiling iri-string v0.7.8
   Compiling serde_json v1.0.143
   Compiling spki v0.7.3
   Compiling protobuf-codegen v3.7.2
   Compiling tower-http v0.6.6
   Compiling url v2.5.7
   Compiling serde_urlencoded v0.7.1
   Compiling hyper-rustls v0.27.7
   Compiling webpki-roots v0.26.11
   Compiling gstreamer-base-sys v0.24.0
   Compiling gio-sys v0.21.1
   Compiling enumflags2_derive v0.7.12
   Compiling inout v0.1.4
   Compiling rustls-pemfile v2.2.0
   Compiling is-docker v0.2.0
   Compiling num-bigint-dig v0.8.4
   Compiling paste v1.0.15
   Compiling iana-time-zone v0.1.63
   Compiling portable-atomic v1.11.1
   Compiling bytemuck v1.23.2
   Compiling arrayvec v0.7.6
   Compiling crc32fast v1.5.0
   Compiling jack-sys v0.5.1
   Compiling symphonia-core v0.5.4
   Compiling chrono v0.4.41
   Compiling is-wsl v0.4.0
   Compiling rustls-native-certs v0.7.3
   Compiling cipher v0.4.4
   Compiling reqwest v0.12.23
   Compiling librespot-protocol v0.7.1 (/build/librespot/src/librespot/protocol)
   Compiling rand_distr v0.5.1
   Compiling tokio-rustls v0.25.0
   Compiling pkcs8 v0.10.2
   Compiling sha2 v0.10.9
   Compiling num-iter v0.1.45
   Compiling serde_path_to_error v0.1.17
   Compiling zvariant_utils v3.2.1
   Compiling headers-core v0.3.0
   Compiling libpulse-sys v1.23.0
   Compiling alsa-sys v0.3.1
   Compiling encoding_rs v0.8.35
   Compiling utf-8 v0.7.6
   Compiling pathdiff v0.2.3
   Compiling data-encoding v2.9.0
   Compiling mime v0.3.17
   Compiling crossbeam-utils v0.8.21
   Compiling headers v0.4.1
   Compiling symphonia-metadata v0.5.4
   Compiling tungstenite v0.27.0
   Compiling open v5.3.2
   Compiling zvariant_derive v5.7.0
   Compiling oauth2 v5.0.0
   Compiling librespot-core v0.7.1 (/build/librespot/src/librespot/core)
   Compiling pkcs1 v0.7.5
   Compiling hyper-rustls v0.26.0
   Compiling num-rational v0.4.2
   Compiling signature v2.2.0
   Compiling glib-macros v0.21.0
   Compiling hmac v0.12.1
   Compiling futures-executor v0.3.31
   Compiling webpki v0.22.4
   Compiling spinning_top v0.3.0
   Compiling version-compare v0.1.1
   Compiling futures-timer v3.0.3
   Compiling nonzero_ext v0.3.0
   Compiling web-time v1.1.0
   Compiling governor v0.10.1
   Compiling itertools v0.14.0
   Compiling sdl2-sys v0.38.0
   Compiling hyper-proxy2 v0.1.0
error[E0428]: the name `TlsStream` is defined multiple times
  --> /build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hyper-proxy2-0.1.0/src/stream.rs:24:1
   |
21 | pub type TlsStream<R> = TokioIo<RustlsStream<TokioIo<R>>>;
   | ---------------------------------------------------------- previous definition of the type `TlsStream` here
...
24 | pub type TlsStream<R> = TokioIo<TokioNativeTlsStream<TokioIo<R>>>;
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `TlsStream` redefined here
   |
   = note: `TlsStream` must be defined only once in the type namespace of this module

error[E0252]: the name `TlsConnector` is defined multiple times
  --> /build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hyper-proxy2-0.1.0/src/lib.rs:91:5
   |
85 | use tokio_native_tls::TlsConnector;
   |     ------------------------------ previous import of the type `TlsConnector` here
...
91 | use tokio_rustls::TlsConnector;
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^ `TlsConnector` reimported here
   |
   = note: `TlsConnector` must be defined only once in the type namespace of this module
help: you can use `as` to change the binding name of the import
   |
91 | use tokio_rustls::TlsConnector as OtherTlsConnector;
   |                                ++++++++++++++++++++

error[E0124]: field `tls` is already declared
   --> /build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hyper-proxy2-0.1.0/src/lib.rs:260:5
    |
257 |     tls: Option<NativeTlsConnector>,
    |     ------------------------------- `tls` first declared here
...
260 |     tls: Option<TlsConnector>,
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^ field already declared

error[E0592]: duplicate definitions with name `new`
   --> /build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hyper-proxy2-0.1.0/src/lib.rs:302:5
    |
288 |     pub fn new(connector: C) -> Result<Self, io::Error> {
    |     --------------------------------------------------- other definition for `new`
...
302 |     pub fn new(connector: C) -> Result<Self, io::Error> {
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ duplicate definitions for `new`

error[E0592]: duplicate definitions with name `set_tls`
   --> /build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hyper-proxy2-0.1.0/src/lib.rs:376:5
    |
370 |     pub fn set_tls(&mut self, tls: Option<NativeTlsConnector>) {
    |     ---------------------------------------------------------- other definition for `set_tls`
...
376 |     pub fn set_tls(&mut self, tls: Option<TlsConnector>) {
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ duplicate definitions for `set_tls`

error[E0599]: no method named `get_ref` found for tuple `(&TokioIo<R>, &tokio_rustls::rustls::ClientConnection)` in the current scope
   --> /build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hyper-proxy2-0.1.0/src/stream.rs:112:18
    |
109 |               ProxyStream::Secured(s) => s
    |  ________________________________________-
110 | |                 .inner()
    | |                  ------- method `get_ref` is available on `&tokio_rustls::client::TlsStream<TokioIo<R>>`
111 | |                 .get_ref()
112 | |                 .get_ref()
    | |                 -^^^^^^^ method not found in `(&TokioIo<R>, &tokio_rustls::rustls::ClientConnection)`
    | |_________________|
    |
    |
help: consider pinning the expression with `std::pin::pin!()` and assigning that to a new binding
   --> /build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hyper-proxy2-0.1.0/src/stream.rs:109:40
    |
109 |               ProxyStream::Secured(s) => s
    |  ________________________________________^
110 | |                 .inner()
111 | |                 .get_ref()
    | |__________________________^

error[E0308]: mismatched types
   --> /build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hyper-proxy2-0.1.0/src/lib.rs:257:5
    |
251 | #[derive(Clone)]
    |          ----- in this derive macro expansion
...
257 |     tls: Option<NativeTlsConnector>,
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |     |
    |     expected `tokio_native_tls::TlsConnector`, found `native_tls::TlsConnector`
    |     arguments to this function are incorrect
    |
    = note: `native_tls::TlsConnector` and `tokio_native_tls::TlsConnector` have similar names, but are actually distinct types
note: `native_tls::TlsConnector` is defined in crate `native_tls`
   --> /build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/native-tls-0.2.14/src/lib.rs:467:1
    |
467 | pub struct TlsConnector(imp::TlsConnector);
    | ^^^^^^^^^^^^^^^^^^^^^^^
note: `tokio_native_tls::TlsConnector` is defined in crate `tokio_native_tls`
   --> /build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-native-tls-0.3.1/src/lib.rs:78:1
    |
 78 | pub struct TlsConnector(native_tls::TlsConnector);
    | ^^^^^^^^^^^^^^^^^^^^^^^
note: method defined here
   --> /usr/src/debug/rust/rustc-1.90.0-src/library/core/src/clone.rs:204:8

error[E0062]: field `tls` specified more than once
   --> /build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hyper-proxy2-0.1.0/src/lib.rs:260:5
    |
257 |     tls: Option<NativeTlsConnector>,
    |     ------------------------------- first use of `tls`
...
260 |     tls: Option<TlsConnector>,
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^ used more than once

error[E0308]: mismatched types
   --> /build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hyper-proxy2-0.1.0/src/lib.rs:296:23
    |
296 |             tls: Some(tls),
    |                  ---- ^^^ expected `tokio_native_tls::TlsConnector`, found `native_tls::TlsConnector`
    |                  |
    |                  arguments to this enum variant are incorrect
    |
    = note: `native_tls::TlsConnector` and `tokio_native_tls::TlsConnector` have similar names, but are actually distinct types
note: `native_tls::TlsConnector` is defined in crate `native_tls`
   --> /build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/native-tls-0.2.14/src/lib.rs:467:1
    |
467 | pub struct TlsConnector(imp::TlsConnector);
    | ^^^^^^^^^^^^^^^^^^^^^^^
note: `tokio_native_tls::TlsConnector` is defined in crate `tokio_native_tls`
   --> /build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-native-tls-0.3.1/src/lib.rs:78:1
    |
 78 | pub struct TlsConnector(native_tls::TlsConnector);
    | ^^^^^^^^^^^^^^^^^^^^^^^
help: the type constructed contains `native_tls::TlsConnector` due to the type of the argument passed
   --> /build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hyper-proxy2-0.1.0/src/lib.rs:296:18
    |
296 |             tls: Some(tls),
    |                  ^^^^^---^
    |                       |
    |                       this argument influences the type of `Some`
note: tuple variant defined here
   --> /usr/src/debug/rust/rustc-1.90.0-src/library/core/src/option.rs:601:5
help: call `Into::into` on this expression to convert `native_tls::TlsConnector` into `tokio_native_tls::TlsConnector`
    |
296 |             tls: Some(tls.into()),
    |                          +++++++

error[E0599]: no method named `with_webpki_roots` found for struct `ConfigBuilder` in the current scope
   --> /build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hyper-proxy2-0.1.0/src/lib.rs:309:29
    |
309 |         let config = config.with_webpki_roots();
    |                             ^^^^^^^^^^^^^^^^^ method not found in `ConfigBuilder<ClientConfig, WantsClientCert>`
    |
note: there's an earlier shadowed binding `config` of type `ConfigBuilder<ClientConfig, WantsVerifier>` that has method `with_webpki_roots` available
   --> /build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hyper-proxy2-0.1.0/src/lib.rs:303:13
    |
303 |         let config = tokio_rustls::rustls::ClientConfig::builder();
    |             ^^^^^^ `config` of type `ConfigBuilder<ClientConfig, WantsVerifier>` that has method `with_webpki_roots` defined earlier here
...
306 |         let config = config.with_native_roots()?;
    |             ------ earlier `config` shadowed here with type `ConfigBuilder`

error[E0308]: mismatched types
   --> /build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hyper-proxy2-0.1.0/src/lib.rs:364:18
    |
364 |             tls: self.tls,
    |                  ^^^^^^^^ expected `tokio_native_tls::TlsConnector`, found `native_tls::TlsConnector`
    |
    = note: `native_tls::TlsConnector` and `tokio_native_tls::TlsConnector` have similar names, but are actually distinct types
note: `native_tls::TlsConnector` is defined in crate `native_tls`
   --> /build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/native-tls-0.2.14/src/lib.rs:467:1
    |
467 | pub struct TlsConnector(imp::TlsConnector);
    | ^^^^^^^^^^^^^^^^^^^^^^^
note: `tokio_native_tls::TlsConnector` is defined in crate `tokio_native_tls`
   --> /build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-native-tls-0.3.1/src/lib.rs:78:1
    |
 78 | pub struct TlsConnector(native_tls::TlsConnector);
    | ^^^^^^^^^^^^^^^^^^^^^^^

error[E0308]: mismatched types
   --> /build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hyper-proxy2-0.1.0/src/lib.rs:377:20
    |
377 |         self.tls = tls;
    |         --------   ^^^ expected `native_tls::TlsConnector`, found `tokio_native_tls::TlsConnector`
    |         |
    |         expected due to the type of this binding
    |
    = note: `tokio_native_tls::TlsConnector` and `native_tls::TlsConnector` have similar names, but are actually distinct types
note: `tokio_native_tls::TlsConnector` is defined in crate `tokio_native_tls`
   --> /build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-native-tls-0.3.1/src/lib.rs:78:1
    |
 78 | pub struct TlsConnector(native_tls::TlsConnector);
    | ^^^^^^^^^^^^^^^^^^^^^^^
note: `native_tls::TlsConnector` is defined in crate `native_tls`
   --> /build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/native-tls-0.2.14/src/lib.rs:467:1
    |
467 | pub struct TlsConnector(imp::TlsConnector);
    | ^^^^^^^^^^^^^^^^^^^^^^^

error[E0308]: mismatched types
   --> /build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hyper-proxy2-0.1.0/src/lib.rs:483:70
    |
483 | ...                   Ok(ProxyStream::Secured(TokioIo::new(secure_stream)))
    |                                               ------------ ^^^^^^^^^^^^^ expected `TlsStream<TokioIo<_>>`, found `TlsStream<TokioIo<...>>`
    |                                               |
    |                                               arguments to this function are incorrect
    |
    = note: `TlsStream<TokioIo<...>>` and `TlsStream<TokioIo<_>>` have similar names, but are actually distinct types
note: `TlsStream<TokioIo<...>>` is defined in crate `tokio_native_tls`
   --> /build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-native-tls-0.3.1/src/lib.rs:73:1
    |
 73 | pub struct TlsStream<S>(native_tls::TlsStream<AllowStd<S>>);
    | ^^^^^^^^^^^^^^^^^^^^^^^
note: `TlsStream<TokioIo<_>>` is defined in crate `tokio_rustls`
   --> /build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-rustls-0.25.0/src/client.rs:17:1
    |
 17 | pub struct TlsStream<IO> {
    | ^^^^^^^^^^^^^^^^^^^^^^^^
note: associated function defined here
   --> /build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hyper-util-0.1.16/src/rt/tokio.rs:130:12
    |
130 |     pub fn new(inner: T) -> Self {
    |            ^^^

error[E0308]: mismatched types
   --> /build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hyper-proxy2-0.1.0/src/lib.rs:493:46
    |
493 | ...                   .connect(server_name, TokioIo::new(tunnel_stream))
    |                        ------- ^^^^^^^^^^^ expected `&str`, found `ServerName<'_>`
    |                        |
    |                        arguments to this method are incorrect
    |
note: method defined here
   --> /build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-native-tls-0.3.1/src/lib.rs:307:18
    |
307 |     pub async fn connect<S>(&self, domain: &str, stream: S) -> Result<TlsStream<S>, Error>
    |                  ^^^^^^^

error[E0308]: mismatched types
   --> /build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hyper-proxy2-0.1.0/src/lib.rs:497:70
    |
497 | ...                   Ok(ProxyStream::Secured(TokioIo::new(secure_stream)))
    |                                               ------------ ^^^^^^^^^^^^^ expected `TlsStream<TokioIo<_>>`, found `TlsStream<TokioIo<...>>`
    |                                               |
    |                                               arguments to this function are incorrect
    |
    = note: `TlsStream<TokioIo<...>>` and `TlsStream<TokioIo<_>>` have similar names, but are actually distinct types
note: `TlsStream<TokioIo<...>>` is defined in crate `tokio_native_tls`
   --> /build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-native-tls-0.3.1/src/lib.rs:73:1
    |
 73 | pub struct TlsStream<S>(native_tls::TlsStream<AllowStd<S>>);
    | ^^^^^^^^^^^^^^^^^^^^^^^
note: `TlsStream<TokioIo<_>>` is defined in crate `tokio_rustls`
   --> /build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-rustls-0.25.0/src/client.rs:17:1
    |
 17 | pub struct TlsStream<IO> {
    | ^^^^^^^^^^^^^^^^^^^^^^^^
note: associated function defined here
   --> /build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hyper-util-0.1.16/src/rt/tokio.rs:130:12
    |
130 |     pub fn new(inner: T) -> Self {
    |            ^^^

Some errors have detailed explanations: E0062, E0124, E0252, E0308, E0428, E0592, E0599.
For more information about an error, try `rustc --explain E0062`.
error: could not compile `hyper-proxy2` (lib) due to 15 previous errors
warning: build failed, waiting for other jobs to finish...
Originally created by @txtsd on GitHub (Sep 23, 2025). Original GitHub issue: https://github.com/librespot-org/librespot/issues/1597 I'm the maintainer of the [librespot AUR package](https://aur.archlinux.org/packages/librespot). Building with `cargo build --frozen --release --all-features --workspace` fails: ``` Compiling proc-macro2 v1.0.101 Compiling unicode-ident v1.0.18 Compiling libc v0.2.175 Compiling cfg-if v1.0.3 Compiling pkg-config v0.3.32 Compiling serde v1.0.219 Compiling autocfg v1.5.0 Compiling hashbrown v0.15.5 Compiling equivalent v1.0.2 Compiling pin-project-lite v0.2.16 Compiling winnow v0.7.13 Compiling memchr v2.7.5 Compiling smallvec v1.15.1 Compiling futures-core v0.3.31 Compiling shlex v1.3.0 Compiling allocator-api2 v0.2.21 Compiling indexmap v2.11.0 Compiling cc v1.2.34 Compiling quote v1.0.40 Compiling syn v2.0.106 Compiling libm v0.2.15 Compiling foldhash v0.1.5 Compiling object v0.36.7 Compiling bitflags v2.9.3 Compiling adler2 v2.0.1 Compiling once_cell v1.21.3 Compiling bytes v1.10.1 Compiling miniz_oxide v0.8.9 Compiling lock_api v0.4.13 Compiling target-lexicon v0.13.2 Compiling zeroize v1.8.1 Compiling log v0.4.27 Compiling gimli v0.31.1 Compiling parking_lot_core v0.9.11 Compiling rustc-demangle v0.1.26 Compiling scopeguard v1.2.0 Compiling fixedbitset v0.4.2 Compiling petgraph v0.6.5 Compiling thread-id v4.2.2 Compiling heck v0.5.0 Compiling futures-sink v0.3.31 Compiling cfg-expr v0.20.2 Compiling getrandom v0.2.16 Compiling version-compare v0.2.0 Compiling typenum v1.18.0 Compiling version_check v0.9.5 Compiling futures-io v0.3.31 Compiling itoa v1.0.15 Compiling slab v0.4.11 Compiling socket2 v0.6.0 Compiling signal-hook-registry v1.4.6 Compiling mio v1.0.4 Compiling generic-array v0.14.7 Compiling num-traits v0.2.19 Compiling pin-utils v0.1.0 Compiling addr2line v0.24.2 Compiling subtle v2.6.1 Compiling futures-task v0.3.31 Compiling synstructure v0.13.2 Compiling ring v0.17.14 Compiling rustls-pki-types v1.12.0 Compiling backtrace v0.3.75 Compiling fnv v1.0.7 Compiling http v1.3.1 Compiling thiserror v1.0.69 Compiling const-oid v0.9.6 Compiling parking_lot v0.12.4 Compiling crypto-common v0.1.6 Compiling untrusted v0.9.0 Compiling stable_deref_trait v1.2.0 Compiling zerocopy v0.8.26 Compiling vcpkg v0.2.15 Compiling spin v0.9.8 Compiling lazy_static v1.5.0 Compiling futures-channel v0.3.31 Compiling getrandom v0.3.3 Compiling serde_derive v1.0.219 Compiling tokio-macros v2.5.0 Compiling futures-macro v0.3.31 Compiling zerofrom-derive v0.1.6 Compiling tokio v1.47.1 Compiling yoke-derive v0.8.0 Compiling futures-util v0.3.31 Compiling thiserror-impl v1.0.69 Compiling zerocopy-derive v0.8.26 Compiling zerofrom v0.1.6 Compiling yoke v0.8.0 Compiling openssl-sys v0.9.109 Compiling zerovec-derive v0.11.1 Compiling displaydoc v0.2.5 Compiling zerovec v0.11.4 Compiling block-buffer v0.10.4 Compiling httparse v1.10.1 Compiling rustversion v1.0.22 Compiling openssl-probe v0.1.6 Compiling digest v0.10.7 Compiling tracing-attributes v0.1.30 Compiling tracing-core v0.1.34 Compiling ppv-lite86 v0.2.21 Compiling anyhow v1.0.99 Compiling toml_datetime v0.6.11 Compiling serde_spanned v0.6.9 Compiling toml_edit v0.22.27 Compiling http-body v1.0.1 Compiling openssl v0.10.73 Compiling percent-encoding v2.3.2 Compiling ident_case v1.0.1 Compiling strsim v0.11.1 Compiling foreign-types-shared v0.1.1 Compiling rustix v1.0.8 Compiling foreign-types v0.3.2 Compiling tracing v0.1.41 Compiling darling_core v0.20.11 Compiling tokio-util v0.7.16 Compiling tinystr v0.8.1 Compiling openssl-macros v0.1.1 Compiling num-integer v0.1.46 Compiling tower-service v0.3.3 Compiling native-tls v0.2.14 Compiling httpdate v1.0.3 Compiling writeable v0.6.1 Compiling try-lock v0.2.5 Compiling protobuf v3.7.2 Compiling atomic-waker v1.1.2 Compiling litemap v0.8.0 Compiling toml v0.8.23 Compiling proc-macro-crate v3.3.0 Compiling icu_locale_core v2.0.0 Compiling system-deps v7.0.5 Compiling h2 v0.4.12 Compiling want v0.3.1 Compiling potential_utf v0.1.3 Compiling zerotrie v0.2.2 Compiling rustls v0.23.31 Compiling base64 v0.22.1 Compiling cpufeatures v0.2.17 Compiling icu_normalizer_data v2.0.0 Compiling thiserror v2.0.16 Compiling icu_properties_data v2.0.1 Compiling icu_provider v2.0.0 Compiling icu_collections v2.0.0 Compiling rustls-webpki v0.103.4 Compiling glib-sys v0.21.1 Compiling gobject-sys v0.21.1 Compiling thiserror-impl v2.0.16 Compiling darling_macro v0.20.11 Compiling darling v0.20.11 Compiling webpki-roots v1.0.2 Compiling rand_core v0.6.4 Compiling rustix v0.38.44 Compiling hyper v1.7.0 Compiling ipnet v2.11.0 Compiling derive_builder_core v0.20.2 Compiling hyper-util v0.1.16 Compiling linux-raw-sys v0.9.4 Compiling linux-raw-sys v0.4.15 Compiling aho-corasick v1.1.3 Compiling icu_properties v2.0.1 Compiling icu_normalizer v2.0.0 Compiling derive_builder_macro v0.20.2 Compiling protobuf-support v3.7.2 Compiling tokio-native-tls v0.3.1 Compiling rand_chacha v0.3.1 Compiling rand_core v0.9.3 Compiling num-bigint v0.4.6 Compiling vergen-lib v0.1.6 Compiling either v1.15.0 Compiling regex-syntax v0.8.6 Compiling home v0.5.11 Compiling fastrand v2.3.0 Compiling base64ct v1.8.0 Compiling powerfmt v0.2.0 Compiling deranged v0.4.0 Compiling tempfile v3.21.0 Compiling pem-rfc7468 v0.7.0 Compiling which v4.4.2 Compiling rand_chacha v0.9.0 Compiling rand v0.8.5 Compiling idna_adapter v1.2.1 Compiling derive_builder v0.20.2 Compiling tokio-rustls v0.26.2 Compiling gstreamer-sys v0.24.0 Compiling vergen v9.0.6 Compiling form_urlencoded v1.2.2 Compiling http-body-util v0.1.3 Compiling regex-automata v0.4.10 Compiling rustls-native-certs v0.8.1 Compiling sync_wrapper v1.0.2 Compiling num_threads v0.1.7 Compiling tower-layer v0.3.3 Compiling rustls v0.22.4 Compiling byteorder v1.5.0 Compiling time-core v0.1.4 Compiling utf8_iter v1.0.4 Compiling ryu v1.0.20 Compiling num-conv v0.1.0 Compiling bitflags v1.3.2 Compiling time v0.3.41 Compiling idna v1.1.0 Compiling tower v0.5.2 Compiling protobuf-parse v3.7.2 Compiling regex v1.11.2 Compiling hyper-tls v0.6.0 Compiling rand v0.9.2 Compiling der v0.7.10 Compiling sha1 v0.10.6 Compiling vergen-gitcl v1.0.8 Compiling rustls-webpki v0.102.8 Compiling num-derive v0.4.2 Compiling static_assertions v1.1.0 Compiling iri-string v0.7.8 Compiling serde_json v1.0.143 Compiling spki v0.7.3 Compiling protobuf-codegen v3.7.2 Compiling tower-http v0.6.6 Compiling url v2.5.7 Compiling serde_urlencoded v0.7.1 Compiling hyper-rustls v0.27.7 Compiling webpki-roots v0.26.11 Compiling gstreamer-base-sys v0.24.0 Compiling gio-sys v0.21.1 Compiling enumflags2_derive v0.7.12 Compiling inout v0.1.4 Compiling rustls-pemfile v2.2.0 Compiling is-docker v0.2.0 Compiling num-bigint-dig v0.8.4 Compiling paste v1.0.15 Compiling iana-time-zone v0.1.63 Compiling portable-atomic v1.11.1 Compiling bytemuck v1.23.2 Compiling arrayvec v0.7.6 Compiling crc32fast v1.5.0 Compiling jack-sys v0.5.1 Compiling symphonia-core v0.5.4 Compiling chrono v0.4.41 Compiling is-wsl v0.4.0 Compiling rustls-native-certs v0.7.3 Compiling cipher v0.4.4 Compiling reqwest v0.12.23 Compiling librespot-protocol v0.7.1 (/build/librespot/src/librespot/protocol) Compiling rand_distr v0.5.1 Compiling tokio-rustls v0.25.0 Compiling pkcs8 v0.10.2 Compiling sha2 v0.10.9 Compiling num-iter v0.1.45 Compiling serde_path_to_error v0.1.17 Compiling zvariant_utils v3.2.1 Compiling headers-core v0.3.0 Compiling libpulse-sys v1.23.0 Compiling alsa-sys v0.3.1 Compiling encoding_rs v0.8.35 Compiling utf-8 v0.7.6 Compiling pathdiff v0.2.3 Compiling data-encoding v2.9.0 Compiling mime v0.3.17 Compiling crossbeam-utils v0.8.21 Compiling headers v0.4.1 Compiling symphonia-metadata v0.5.4 Compiling tungstenite v0.27.0 Compiling open v5.3.2 Compiling zvariant_derive v5.7.0 Compiling oauth2 v5.0.0 Compiling librespot-core v0.7.1 (/build/librespot/src/librespot/core) Compiling pkcs1 v0.7.5 Compiling hyper-rustls v0.26.0 Compiling num-rational v0.4.2 Compiling signature v2.2.0 Compiling glib-macros v0.21.0 Compiling hmac v0.12.1 Compiling futures-executor v0.3.31 Compiling webpki v0.22.4 Compiling spinning_top v0.3.0 Compiling version-compare v0.1.1 Compiling futures-timer v3.0.3 Compiling nonzero_ext v0.3.0 Compiling web-time v1.1.0 Compiling governor v0.10.1 Compiling itertools v0.14.0 Compiling sdl2-sys v0.38.0 Compiling hyper-proxy2 v0.1.0 error[E0428]: the name `TlsStream` is defined multiple times --> /build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hyper-proxy2-0.1.0/src/stream.rs:24:1 | 21 | pub type TlsStream<R> = TokioIo<RustlsStream<TokioIo<R>>>; | ---------------------------------------------------------- previous definition of the type `TlsStream` here ... 24 | pub type TlsStream<R> = TokioIo<TokioNativeTlsStream<TokioIo<R>>>; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `TlsStream` redefined here | = note: `TlsStream` must be defined only once in the type namespace of this module error[E0252]: the name `TlsConnector` is defined multiple times --> /build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hyper-proxy2-0.1.0/src/lib.rs:91:5 | 85 | use tokio_native_tls::TlsConnector; | ------------------------------ previous import of the type `TlsConnector` here ... 91 | use tokio_rustls::TlsConnector; | ^^^^^^^^^^^^^^^^^^^^^^^^^^ `TlsConnector` reimported here | = note: `TlsConnector` must be defined only once in the type namespace of this module help: you can use `as` to change the binding name of the import | 91 | use tokio_rustls::TlsConnector as OtherTlsConnector; | ++++++++++++++++++++ error[E0124]: field `tls` is already declared --> /build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hyper-proxy2-0.1.0/src/lib.rs:260:5 | 257 | tls: Option<NativeTlsConnector>, | ------------------------------- `tls` first declared here ... 260 | tls: Option<TlsConnector>, | ^^^^^^^^^^^^^^^^^^^^^^^^^ field already declared error[E0592]: duplicate definitions with name `new` --> /build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hyper-proxy2-0.1.0/src/lib.rs:302:5 | 288 | pub fn new(connector: C) -> Result<Self, io::Error> { | --------------------------------------------------- other definition for `new` ... 302 | pub fn new(connector: C) -> Result<Self, io::Error> { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ duplicate definitions for `new` error[E0592]: duplicate definitions with name `set_tls` --> /build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hyper-proxy2-0.1.0/src/lib.rs:376:5 | 370 | pub fn set_tls(&mut self, tls: Option<NativeTlsConnector>) { | ---------------------------------------------------------- other definition for `set_tls` ... 376 | pub fn set_tls(&mut self, tls: Option<TlsConnector>) { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ duplicate definitions for `set_tls` error[E0599]: no method named `get_ref` found for tuple `(&TokioIo<R>, &tokio_rustls::rustls::ClientConnection)` in the current scope --> /build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hyper-proxy2-0.1.0/src/stream.rs:112:18 | 109 | ProxyStream::Secured(s) => s | ________________________________________- 110 | | .inner() | | ------- method `get_ref` is available on `&tokio_rustls::client::TlsStream<TokioIo<R>>` 111 | | .get_ref() 112 | | .get_ref() | | -^^^^^^^ method not found in `(&TokioIo<R>, &tokio_rustls::rustls::ClientConnection)` | |_________________| | | help: consider pinning the expression with `std::pin::pin!()` and assigning that to a new binding --> /build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hyper-proxy2-0.1.0/src/stream.rs:109:40 | 109 | ProxyStream::Secured(s) => s | ________________________________________^ 110 | | .inner() 111 | | .get_ref() | |__________________________^ error[E0308]: mismatched types --> /build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hyper-proxy2-0.1.0/src/lib.rs:257:5 | 251 | #[derive(Clone)] | ----- in this derive macro expansion ... 257 | tls: Option<NativeTlsConnector>, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | | | expected `tokio_native_tls::TlsConnector`, found `native_tls::TlsConnector` | arguments to this function are incorrect | = note: `native_tls::TlsConnector` and `tokio_native_tls::TlsConnector` have similar names, but are actually distinct types note: `native_tls::TlsConnector` is defined in crate `native_tls` --> /build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/native-tls-0.2.14/src/lib.rs:467:1 | 467 | pub struct TlsConnector(imp::TlsConnector); | ^^^^^^^^^^^^^^^^^^^^^^^ note: `tokio_native_tls::TlsConnector` is defined in crate `tokio_native_tls` --> /build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-native-tls-0.3.1/src/lib.rs:78:1 | 78 | pub struct TlsConnector(native_tls::TlsConnector); | ^^^^^^^^^^^^^^^^^^^^^^^ note: method defined here --> /usr/src/debug/rust/rustc-1.90.0-src/library/core/src/clone.rs:204:8 error[E0062]: field `tls` specified more than once --> /build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hyper-proxy2-0.1.0/src/lib.rs:260:5 | 257 | tls: Option<NativeTlsConnector>, | ------------------------------- first use of `tls` ... 260 | tls: Option<TlsConnector>, | ^^^^^^^^^^^^^^^^^^^^^^^^^ used more than once error[E0308]: mismatched types --> /build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hyper-proxy2-0.1.0/src/lib.rs:296:23 | 296 | tls: Some(tls), | ---- ^^^ expected `tokio_native_tls::TlsConnector`, found `native_tls::TlsConnector` | | | arguments to this enum variant are incorrect | = note: `native_tls::TlsConnector` and `tokio_native_tls::TlsConnector` have similar names, but are actually distinct types note: `native_tls::TlsConnector` is defined in crate `native_tls` --> /build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/native-tls-0.2.14/src/lib.rs:467:1 | 467 | pub struct TlsConnector(imp::TlsConnector); | ^^^^^^^^^^^^^^^^^^^^^^^ note: `tokio_native_tls::TlsConnector` is defined in crate `tokio_native_tls` --> /build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-native-tls-0.3.1/src/lib.rs:78:1 | 78 | pub struct TlsConnector(native_tls::TlsConnector); | ^^^^^^^^^^^^^^^^^^^^^^^ help: the type constructed contains `native_tls::TlsConnector` due to the type of the argument passed --> /build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hyper-proxy2-0.1.0/src/lib.rs:296:18 | 296 | tls: Some(tls), | ^^^^^---^ | | | this argument influences the type of `Some` note: tuple variant defined here --> /usr/src/debug/rust/rustc-1.90.0-src/library/core/src/option.rs:601:5 help: call `Into::into` on this expression to convert `native_tls::TlsConnector` into `tokio_native_tls::TlsConnector` | 296 | tls: Some(tls.into()), | +++++++ error[E0599]: no method named `with_webpki_roots` found for struct `ConfigBuilder` in the current scope --> /build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hyper-proxy2-0.1.0/src/lib.rs:309:29 | 309 | let config = config.with_webpki_roots(); | ^^^^^^^^^^^^^^^^^ method not found in `ConfigBuilder<ClientConfig, WantsClientCert>` | note: there's an earlier shadowed binding `config` of type `ConfigBuilder<ClientConfig, WantsVerifier>` that has method `with_webpki_roots` available --> /build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hyper-proxy2-0.1.0/src/lib.rs:303:13 | 303 | let config = tokio_rustls::rustls::ClientConfig::builder(); | ^^^^^^ `config` of type `ConfigBuilder<ClientConfig, WantsVerifier>` that has method `with_webpki_roots` defined earlier here ... 306 | let config = config.with_native_roots()?; | ------ earlier `config` shadowed here with type `ConfigBuilder` error[E0308]: mismatched types --> /build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hyper-proxy2-0.1.0/src/lib.rs:364:18 | 364 | tls: self.tls, | ^^^^^^^^ expected `tokio_native_tls::TlsConnector`, found `native_tls::TlsConnector` | = note: `native_tls::TlsConnector` and `tokio_native_tls::TlsConnector` have similar names, but are actually distinct types note: `native_tls::TlsConnector` is defined in crate `native_tls` --> /build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/native-tls-0.2.14/src/lib.rs:467:1 | 467 | pub struct TlsConnector(imp::TlsConnector); | ^^^^^^^^^^^^^^^^^^^^^^^ note: `tokio_native_tls::TlsConnector` is defined in crate `tokio_native_tls` --> /build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-native-tls-0.3.1/src/lib.rs:78:1 | 78 | pub struct TlsConnector(native_tls::TlsConnector); | ^^^^^^^^^^^^^^^^^^^^^^^ error[E0308]: mismatched types --> /build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hyper-proxy2-0.1.0/src/lib.rs:377:20 | 377 | self.tls = tls; | -------- ^^^ expected `native_tls::TlsConnector`, found `tokio_native_tls::TlsConnector` | | | expected due to the type of this binding | = note: `tokio_native_tls::TlsConnector` and `native_tls::TlsConnector` have similar names, but are actually distinct types note: `tokio_native_tls::TlsConnector` is defined in crate `tokio_native_tls` --> /build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-native-tls-0.3.1/src/lib.rs:78:1 | 78 | pub struct TlsConnector(native_tls::TlsConnector); | ^^^^^^^^^^^^^^^^^^^^^^^ note: `native_tls::TlsConnector` is defined in crate `native_tls` --> /build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/native-tls-0.2.14/src/lib.rs:467:1 | 467 | pub struct TlsConnector(imp::TlsConnector); | ^^^^^^^^^^^^^^^^^^^^^^^ error[E0308]: mismatched types --> /build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hyper-proxy2-0.1.0/src/lib.rs:483:70 | 483 | ... Ok(ProxyStream::Secured(TokioIo::new(secure_stream))) | ------------ ^^^^^^^^^^^^^ expected `TlsStream<TokioIo<_>>`, found `TlsStream<TokioIo<...>>` | | | arguments to this function are incorrect | = note: `TlsStream<TokioIo<...>>` and `TlsStream<TokioIo<_>>` have similar names, but are actually distinct types note: `TlsStream<TokioIo<...>>` is defined in crate `tokio_native_tls` --> /build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-native-tls-0.3.1/src/lib.rs:73:1 | 73 | pub struct TlsStream<S>(native_tls::TlsStream<AllowStd<S>>); | ^^^^^^^^^^^^^^^^^^^^^^^ note: `TlsStream<TokioIo<_>>` is defined in crate `tokio_rustls` --> /build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-rustls-0.25.0/src/client.rs:17:1 | 17 | pub struct TlsStream<IO> { | ^^^^^^^^^^^^^^^^^^^^^^^^ note: associated function defined here --> /build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hyper-util-0.1.16/src/rt/tokio.rs:130:12 | 130 | pub fn new(inner: T) -> Self { | ^^^ error[E0308]: mismatched types --> /build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hyper-proxy2-0.1.0/src/lib.rs:493:46 | 493 | ... .connect(server_name, TokioIo::new(tunnel_stream)) | ------- ^^^^^^^^^^^ expected `&str`, found `ServerName<'_>` | | | arguments to this method are incorrect | note: method defined here --> /build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-native-tls-0.3.1/src/lib.rs:307:18 | 307 | pub async fn connect<S>(&self, domain: &str, stream: S) -> Result<TlsStream<S>, Error> | ^^^^^^^ error[E0308]: mismatched types --> /build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hyper-proxy2-0.1.0/src/lib.rs:497:70 | 497 | ... Ok(ProxyStream::Secured(TokioIo::new(secure_stream))) | ------------ ^^^^^^^^^^^^^ expected `TlsStream<TokioIo<_>>`, found `TlsStream<TokioIo<...>>` | | | arguments to this function are incorrect | = note: `TlsStream<TokioIo<...>>` and `TlsStream<TokioIo<_>>` have similar names, but are actually distinct types note: `TlsStream<TokioIo<...>>` is defined in crate `tokio_native_tls` --> /build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-native-tls-0.3.1/src/lib.rs:73:1 | 73 | pub struct TlsStream<S>(native_tls::TlsStream<AllowStd<S>>); | ^^^^^^^^^^^^^^^^^^^^^^^ note: `TlsStream<TokioIo<_>>` is defined in crate `tokio_rustls` --> /build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-rustls-0.25.0/src/client.rs:17:1 | 17 | pub struct TlsStream<IO> { | ^^^^^^^^^^^^^^^^^^^^^^^^ note: associated function defined here --> /build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hyper-util-0.1.16/src/rt/tokio.rs:130:12 | 130 | pub fn new(inner: T) -> Self { | ^^^ Some errors have detailed explanations: E0062, E0124, E0252, E0308, E0428, E0592, E0599. For more information about an error, try `rustc --explain E0062`. error: could not compile `hyper-proxy2` (lib) due to 15 previous errors warning: build failed, waiting for other jobs to finish... ```
kerem 2026-02-27 19:32:10 +03:00
Author
Owner

@kingosticks commented on GitHub (Sep 23, 2025):

Do you really want to build all features? Why do you want both TLS backends?

<!-- gh-comment-id:3324591063 --> @kingosticks commented on GitHub (Sep 23, 2025): Do you really want to build all features? Why do you want both TLS backends?
Author
Owner

@roderickvd commented on GitHub (Sep 23, 2025):

Yeah, that’s the point: you can’t have both TLS backends, so “with all features” won’t work. I thought I had added a compilation error for when both where enabled, but apparently not.

<!-- gh-comment-id:3325068347 --> @roderickvd commented on GitHub (Sep 23, 2025): Yeah, that’s the point: you _can’t_ have both TLS backends, so “with all features” won’t work. I thought I had added a compilation error for when both where enabled, but apparently not.
Author
Owner

@txtsd commented on GitHub (Sep 24, 2025):

So how do I build all features with only one TLS backend? Do I have to manually specify each feature?

<!-- gh-comment-id:3326785322 --> @txtsd commented on GitHub (Sep 24, 2025): So how do I build all features with only one TLS backend? Do I have to manually specify each feature?
Author
Owner

@michaelherger commented on GitHub (Sep 24, 2025):

So how do I build all features with only one TLS backend? Do I have to manually specify each feature?

I'm pretty sure the answer to your questions is yes and yes. But the real question is the one @kingosticks asked in the first response: do you really want to build all features? IMHO this doesn't make sense, and I wouldn't be surprised if some of them were even mutually exclusive. All the backends at the same time?

<!-- gh-comment-id:3326954530 --> @michaelherger commented on GitHub (Sep 24, 2025): > So how do I build all features with only one TLS backend? Do I have to manually specify each feature? I'm pretty sure the answer to your questions is yes and yes. But the real question is the one @kingosticks asked in the first response: do you really want to build all features? IMHO this doesn't make sense, and I wouldn't be surprised if some of them were even mutually exclusive. All the backends at the same time?
Author
Owner

@roderickvd commented on GitHub (Sep 24, 2025):

Please refer to https://github.com/librespot-org/librespot/blob/dev/COMPILING.md

<!-- gh-comment-id:3330807703 --> @roderickvd commented on GitHub (Sep 24, 2025): Please refer to https://github.com/librespot-org/librespot/blob/dev/COMPILING.md
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/librespot#728
No description provided.