[INFO] fetching crate dubbo 0.4.0...
[INFO] checking dubbo-0.4.0 against a5689b034ad287112f709693384a37f1377eb9cc for pr-129249-3
[INFO] extracting crate dubbo 0.4.0 into /workspace/builds/worker-2-tc2/source
[INFO] started tweaking crates.io crate dubbo 0.4.0
[INFO] finished tweaking crates.io crate dubbo 0.4.0
[INFO] tweaked toml for crates.io crate dubbo 0.4.0 written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate dubbo 0.4.0 on toolchain a5689b034ad287112f709693384a37f1377eb9cc
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+a5689b034ad287112f709693384a37f1377eb9cc" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+a5689b034ad287112f709693384a37f1377eb9cc" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 248 packages to highest compatible versions
[INFO] [stderr]       Adding aws-smithy-http v0.55.3 (available: v0.64.1)
[INFO] [stderr]       Adding axum v0.5.17 (available: v0.8.9)
[INFO] [stderr]       Adding http v0.2.12 (available: v1.5.0)
[INFO] [stderr]       Adding http-body v0.4.6 (available: v1.1.0)
[INFO] [stderr]       Adding hyper v0.14.32 (available: v1.12.0)
[INFO] [stderr]       Adding itertools v0.10.5 (available: v0.15.0)
[INFO] [stderr]       Adding nacos-sdk v0.3.6 (available: v0.8.3)
[INFO] [stderr]       Adding prost v0.11.9 (available: v0.14.4)
[INFO] [stderr]       Adding rand v0.8.8 (available: v0.10.3)
[INFO] [stderr]       Adding rustls-native-certs v0.6.3 (available: v0.8.5)
[INFO] [stderr]       Adding rustls-pemfile v1.0.4 (available: v2.2.0)
[INFO] [stderr]       Adding rustls-webpki v0.101.7 (available: v0.103.15)
[INFO] [stderr]       Adding state v0.5.3 (available: v0.6.0)
[INFO] [stderr]       Adding thiserror v1.0.69 (available: v2.0.21)
[INFO] [stderr]       Adding tokio-rustls v0.24.1 (available: v0.26.6)
[INFO] [stderr]       Adding tower v0.4.13 (available: v0.5.3)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+a5689b034ad287112f709693384a37f1377eb9cc" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] e0bcf7938260bf2c576a765f7cdfcd6d44dc67324299b9fea4985e4b2deea4a2
[INFO] running `Command { std: "docker" "start" "e0bcf7938260bf2c576a765f7cdfcd6d44dc67324299b9fea4985e4b2deea4a2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "e0bcf7938260bf2c576a765f7cdfcd6d44dc67324299b9fea4985e4b2deea4a2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "e0bcf7938260bf2c576a765f7cdfcd6d44dc67324299b9fea4985e4b2deea4a2" "/opt/rustwide/cargo-home/bin/cargo" "+a5689b034ad287112f709693384a37f1377eb9cc" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "e0bcf7938260bf2c576a765f7cdfcd6d44dc67324299b9fea4985e4b2deea4a2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "e0bcf7938260bf2c576a765f7cdfcd6d44dc67324299b9fea4985e4b2deea4a2" "/opt/rustwide/cargo-home/bin/cargo" "+a5689b034ad287112f709693384a37f1377eb9cc" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.191
[INFO] [stderr]     Checking smallvec v1.16.3
[INFO] [stderr]     Checking zerofrom v0.1.8
[INFO] [stderr]     Checking futures-util v0.3.34
[INFO] [stderr]    Compiling serde_core v1.0.229
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]    Compiling zerocopy v0.8.63
[INFO] [stderr]    Compiling find-msvc-tools v0.1.15
[INFO] [stderr]    Compiling either v1.19.0
[INFO] [stderr]     Checking yoke v0.8.3
[INFO] [stderr]    Compiling cc v1.9.0
[INFO] [stderr]    Compiling indexmap v1.9.3
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]     Checking zerovec v0.11.8
[INFO] [stderr]     Checking zerotrie v0.2.5
[INFO] [stderr]     Checking hashbrown v0.12.3
[INFO] [stderr]     Checking tinystr v0.8.4
[INFO] [stderr]     Checking icu_locale_core v2.3.0
[INFO] [stderr]     Checking potential_utf v0.1.6
[INFO] [stderr]     Checking icu_collections v2.3.0
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]     Checking errno v0.3.14
[INFO] [stderr]     Checking signal-hook-registry v1.4.8
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking mio v1.2.4
[INFO] [stderr]     Checking socket2 v0.6.5
[INFO] [stderr]     Checking getrandom v0.2.17
[INFO] [stderr]     Checking socket2 v0.5.10
[INFO] [stderr]     Checking tokio v1.53.3
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]     Checking icu_provider v2.3.1
[INFO] [stderr]     Checking icu_properties v2.3.0
[INFO] [stderr]     Checking serde v1.0.229
[INFO] [stderr]     Checking icu_normalizer v2.3.0
[INFO] [stderr]    Compiling itertools v0.12.1
[INFO] [stderr]    Compiling axum-core v0.3.4
[INFO] [stderr]    Compiling strsim v0.10.0
[INFO] [stderr]    Compiling axum v0.6.20
[INFO] [stderr]    Compiling serde_json v1.0.154
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling darling_core v0.14.4
[INFO] [stderr]     Checking idna_adapter v1.2.2
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]    Compiling async-stream-impl v0.3.6
[INFO] [stderr]    Compiling crc32fast v1.5.2
[INFO] [stderr]     Checking powerfmt v0.2.1
[INFO] [stderr]    Compiling rustls v0.21.12
[INFO] [stderr]    Compiling prost-derive v0.12.6
[INFO] [stderr]     Checking deranged v0.5.9
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking async-stream v0.3.6
[INFO] [stderr]     Checking url v2.5.8
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand v0.8.8
[INFO] [stderr]    Compiling darling_macro v0.14.4
[INFO] [stderr]     Checking futures-executor v0.3.34
[INFO] [stderr]    Compiling itertools v0.10.5
[INFO] [stderr]     Checking time v0.3.55
[INFO] [stderr]    Compiling darling v0.14.4
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]     Checking http-range-header v0.3.1
[INFO] [stderr]     Checking sct v0.7.1
[INFO] [stderr]     Checking prost v0.12.6
[INFO] [stderr]     Checking rustls-webpki v0.101.7
[INFO] [stderr]    Compiling argh_shared v0.1.19
[INFO] [stderr]    Compiling argh_derive v0.1.19
[INFO] [stderr]     Checking miniz_oxide v0.9.1
[INFO] [stderr]     Checking prost-types v0.12.6
[INFO] [stderr]     Checking dashmap v5.5.3
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]    Compiling nacos-macro v0.1.0
[INFO] [stderr]     Checking futures v0.3.34
[INFO] [stderr]    Compiling prost-derive v0.11.9
[INFO] [stderr]     Checking bytes-utils v0.1.4
[INFO] [stderr]     Checking tokio-util v0.7.20
[INFO] [stderr]     Checking tokio-io-timeout v1.2.1
[INFO] [stderr]     Checking tokio-stream v0.1.19
[INFO] [stderr]     Checking axum-core v0.2.9
[INFO] [stderr]     Checking aws-smithy-types v0.55.3
[INFO] [stderr]     Checking unsafe-libyaml v0.2.11
[INFO] [stderr]     Checking local_ipaddress v0.1.3
[INFO] [stderr]     Checking pin-utils v0.1.1
[INFO] [stderr]     Checking rustls-native-certs v0.6.3
[INFO] [stderr]     Checking tracing-subscriber v0.3.23
[INFO] [stderr]     Checking argh v0.1.19
[INFO] [stderr]     Checking flate2 v1.1.10
[INFO] [stderr]     Checking tokio-rustls v0.24.1
[INFO] [stderr]     Checking h2 v0.3.27
[INFO] [stderr]     Checking tower v0.4.13
[INFO] [stderr]     Checking serde_yaml v0.9.34+deprecated
[INFO] [stderr]     Checking state v0.5.3
[INFO] [stderr]     Checking project-root v0.2.2
[INFO] [stderr]     Checking prost v0.11.9
[INFO] [stderr]     Checking tower-http v0.3.5
[INFO] [stderr]     Checking hyper v0.14.32
[INFO] [stderr]     Checking hyper-timeout v0.4.1
[INFO] [stderr]     Checking reqwest v0.11.27
[INFO] [stderr]     Checking aws-smithy-http v0.55.3
[INFO] [stderr]     Checking axum v0.5.17
[INFO] [stderr]     Checking tonic v0.10.2
[INFO] [stderr]     Checking nacos-sdk v0.3.6
[INFO] [stderr]     Checking dubbo v0.4.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: variant `InvokerExtensionFactory` is never constructed
[INFO] [stdout]    --> src/extension/mod.rs:478:5
[INFO] [stdout]     |
[INFO] [stdout] 476 | pub(crate) enum ExtensionFactories {
[INFO] [stdout]     |                 ------------------ variant in this enum
[INFO] [stdout] 477 |     RegistryExtensionFactory(registry_extension::RegistryExtensionFactory),
[INFO] [stdout] 478 |     InvokerExtensionFactory(invoker_extension::InvokerExtensionFactory),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/extension/invoker_extension.rs:237:12
[INFO] [stdout]     |
[INFO] [stdout] 236 | impl InvokerExtensionFactory {
[INFO] [stdout]     | ---------------------------- associated function in this implementation
[INFO] [stdout] 237 |     pub fn new(constructor: InvokerExtensionConstructor) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `InvokerExtension` is never constructed
[INFO] [stdout]    --> src/extension/invoker_extension.rs:277:12
[INFO] [stdout]     |
[INFO] [stdout] 277 | pub struct InvokerExtension<T>(PhantomData<T>)
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `Box<dyn std::error::Error + std::marker::Send + std::marker::Sync>`
[INFO] [stdout]    --> src/triple/client/triple.rs:178:62
[INFO] [stdout]     |
[INFO] [stdout] 178 |             .map_err(|err| crate::status::Status::from_error(err.into()));
[INFO] [stdout]     |                                                              ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: `#[deny(self_type_conversion)]` on by default
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 178 -             .map_err(|err| crate::status::Status::from_error(err.into()));
[INFO] [stdout] 178 +             .map_err(|err| crate::status::Status::from_error(err));
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 178 -             .map_err(|err| crate::status::Status::from_error(err.into()));
[INFO] [stdout] 178 +             .map_err(|err| crate::status::Status::from_error(<Box<dyn std::error::Error + std::marker::Send + std::marker::Sync> as Into<_>>::into(err)));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `Box<dyn std::error::Error + std::marker::Send + std::marker::Sync>`
[INFO] [stdout]    --> src/triple/client/triple.rs:249:62
[INFO] [stdout]     |
[INFO] [stdout] 249 |             .map_err(|err| crate::status::Status::from_error(err.into()));
[INFO] [stdout]     |                                                              ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 249 -             .map_err(|err| crate::status::Status::from_error(err.into()));
[INFO] [stdout] 249 +             .map_err(|err| crate::status::Status::from_error(err));
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 249 -             .map_err(|err| crate::status::Status::from_error(err.into()));
[INFO] [stdout] 249 +             .map_err(|err| crate::status::Status::from_error(<Box<dyn std::error::Error + std::marker::Send + std::marker::Sync> as Into<_>>::into(err)));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `Box<dyn std::error::Error + std::marker::Send + std::marker::Sync>`
[INFO] [stdout]    --> src/triple/client/triple.rs:303:62
[INFO] [stdout]     |
[INFO] [stdout] 303 |             .map_err(|err| crate::status::Status::from_error(err.into()));
[INFO] [stdout]     |                                                              ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 303 -             .map_err(|err| crate::status::Status::from_error(err.into()));
[INFO] [stdout] 303 +             .map_err(|err| crate::status::Status::from_error(err));
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 303 -             .map_err(|err| crate::status::Status::from_error(err.into()));
[INFO] [stdout] 303 +             .map_err(|err| crate::status::Status::from_error(<Box<dyn std::error::Error + std::marker::Send + std::marker::Sync> as Into<_>>::into(err)));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `Box<dyn std::error::Error + std::marker::Send + std::marker::Sync>`
[INFO] [stdout]    --> src/triple/client/triple.rs:374:62
[INFO] [stdout]     |
[INFO] [stdout] 374 |             .map_err(|err| crate::status::Status::from_error(err.into()));
[INFO] [stdout]     |                                                              ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 374 -             .map_err(|err| crate::status::Status::from_error(err.into()));
[INFO] [stdout] 374 +             .map_err(|err| crate::status::Status::from_error(err));
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 374 -             .map_err(|err| crate::status::Status::from_error(err.into()));
[INFO] [stdout] 374 +             .map_err(|err| crate::status::Status::from_error(<Box<dyn std::error::Error + std::marker::Send + std::marker::Sync> as Into<_>>::into(err)));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `status::Status`
[INFO] [stdout]   --> src/triple/encode.rs:86:45
[INFO] [stdout]    |
[INFO] [stdout] 86 |                 Some(Err(err)) => yield Err(err.into()),
[INFO] [stdout]    |                                             ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]    |
[INFO] [stdout] 86 -                 Some(Err(err)) => yield Err(err.into()),
[INFO] [stdout] 86 +                 Some(Err(err)) => yield Err(err),
[INFO] [stdout]    |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]    |
[INFO] [stdout] 86 -                 Some(Err(err)) => yield Err(err.into()),
[INFO] [stdout] 86 +                 Some(Err(err)) => yield Err(<status::Status as Into<_>>::into(err)),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/params/extension_param.rs:39:15
[INFO] [stdout]    |
[INFO] [stdout] 39 |     fn as_str(&self) -> Cow<str> {
[INFO] [stdout]    |               ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |               |
[INFO] [stdout]    |               the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 39 |     fn as_str(&self) -> Cow<'_, str> {
[INFO] [stdout]    |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/params/extension_param.rs:71:15
[INFO] [stdout]    |
[INFO] [stdout] 71 |     fn as_str(&self) -> Cow<str> {
[INFO] [stdout]    |               ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |               |
[INFO] [stdout]    |               the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 71 |     fn as_str(&self) -> Cow<'_, str> {
[INFO] [stdout]    |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/params/registry_param.rs:39:15
[INFO] [stdout]    |
[INFO] [stdout] 39 |     fn as_str(&self) -> Cow<str> {
[INFO] [stdout]    |               ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |               |
[INFO] [stdout]    |               the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 39 |     fn as_str(&self) -> Cow<'_, str> {
[INFO] [stdout]    |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/params/registry_param.rs:71:15
[INFO] [stdout]    |
[INFO] [stdout] 71 |     fn as_str(&self) -> Cow<str> {
[INFO] [stdout]    |               ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |               |
[INFO] [stdout]    |               the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 71 |     fn as_str(&self) -> Cow<'_, str> {
[INFO] [stdout]    |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/params/registry_param.rs:109:15
[INFO] [stdout]     |
[INFO] [stdout] 109 |     fn as_str(&self) -> Cow<str> {
[INFO] [stdout]     |               ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |               |
[INFO] [stdout]     |               the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 109 |     fn as_str(&self) -> Cow<'_, str> {
[INFO] [stdout]     |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/params/registry_param.rs:147:15
[INFO] [stdout]     |
[INFO] [stdout] 147 |     fn as_str(&self) -> Cow<str> {
[INFO] [stdout]     |               ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |               |
[INFO] [stdout]     |               the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 147 |     fn as_str(&self) -> Cow<'_, str> {
[INFO] [stdout]     |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/params/registry_param.rs:185:15
[INFO] [stdout]     |
[INFO] [stdout] 185 |     fn as_str(&self) -> Cow<str> {
[INFO] [stdout]     |               ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |               |
[INFO] [stdout]     |               the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 185 |     fn as_str(&self) -> Cow<'_, str> {
[INFO] [stdout]     |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/params/registry_param.rs:223:15
[INFO] [stdout]     |
[INFO] [stdout] 223 |     fn as_str(&self) -> Cow<str> {
[INFO] [stdout]     |               ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |               |
[INFO] [stdout]     |               the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 223 |     fn as_str(&self) -> Cow<'_, str> {
[INFO] [stdout]     |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/params/registry_param.rs:261:15
[INFO] [stdout]     |
[INFO] [stdout] 261 |     fn as_str(&self) -> Cow<str> {
[INFO] [stdout]     |               ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |               |
[INFO] [stdout]     |               the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 261 |     fn as_str(&self) -> Cow<'_, str> {
[INFO] [stdout]     |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/params/registry_param.rs:299:15
[INFO] [stdout]     |
[INFO] [stdout] 299 |     fn as_str(&self) -> Cow<str> {
[INFO] [stdout]     |               ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |               |
[INFO] [stdout]     |               the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 299 |     fn as_str(&self) -> Cow<'_, str> {
[INFO] [stdout]     |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/params/registry_param.rs:338:15
[INFO] [stdout]     |
[INFO] [stdout] 338 |     fn as_str(&self) -> Cow<str> {
[INFO] [stdout]     |               ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |               |
[INFO] [stdout]     |               the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 338 |     fn as_str(&self) -> Cow<'_, str> {
[INFO] [stdout]     |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/url.rs:176:15
[INFO] [stdout]     |
[INFO] [stdout] 176 |     fn as_str(&self) -> Cow<str>;
[INFO] [stdout]     |               ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |               |
[INFO] [stdout]     |               the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 176 |     fn as_str(&self) -> Cow<'_, str>;
[INFO] [stdout]     |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `dubbo` (lib) due to 5 previous errors; 15 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: variant `InvokerExtensionFactory` is never constructed
[INFO] [stdout]    --> src/extension/mod.rs:478:5
[INFO] [stdout]     |
[INFO] [stdout] 476 | pub(crate) enum ExtensionFactories {
[INFO] [stdout]     |                 ------------------ variant in this enum
[INFO] [stdout] 477 |     RegistryExtensionFactory(registry_extension::RegistryExtensionFactory),
[INFO] [stdout] 478 |     InvokerExtensionFactory(invoker_extension::InvokerExtensionFactory),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/extension/invoker_extension.rs:237:12
[INFO] [stdout]     |
[INFO] [stdout] 236 | impl InvokerExtensionFactory {
[INFO] [stdout]     | ---------------------------- associated function in this implementation
[INFO] [stdout] 237 |     pub fn new(constructor: InvokerExtensionConstructor) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `InvokerExtension` is never constructed
[INFO] [stdout]    --> src/extension/invoker_extension.rs:277:12
[INFO] [stdout]     |
[INFO] [stdout] 277 | pub struct InvokerExtension<T>(PhantomData<T>)
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `Box<dyn std::error::Error + std::marker::Send + std::marker::Sync>`
[INFO] [stdout]    --> src/triple/client/triple.rs:178:62
[INFO] [stdout]     |
[INFO] [stdout] 178 |             .map_err(|err| crate::status::Status::from_error(err.into()));
[INFO] [stdout]     |                                                              ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: `#[deny(self_type_conversion)]` on by default
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 178 -             .map_err(|err| crate::status::Status::from_error(err.into()));
[INFO] [stdout] 178 +             .map_err(|err| crate::status::Status::from_error(err));
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 178 -             .map_err(|err| crate::status::Status::from_error(err.into()));
[INFO] [stdout] 178 +             .map_err(|err| crate::status::Status::from_error(<Box<dyn std::error::Error + std::marker::Send + std::marker::Sync> as Into<_>>::into(err)));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `Box<dyn std::error::Error + std::marker::Send + std::marker::Sync>`
[INFO] [stdout]    --> src/triple/client/triple.rs:249:62
[INFO] [stdout]     |
[INFO] [stdout] 249 |             .map_err(|err| crate::status::Status::from_error(err.into()));
[INFO] [stdout]     |                                                              ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 249 -             .map_err(|err| crate::status::Status::from_error(err.into()));
[INFO] [stdout] 249 +             .map_err(|err| crate::status::Status::from_error(err));
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 249 -             .map_err(|err| crate::status::Status::from_error(err.into()));
[INFO] [stdout] 249 +             .map_err(|err| crate::status::Status::from_error(<Box<dyn std::error::Error + std::marker::Send + std::marker::Sync> as Into<_>>::into(err)));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `Box<dyn std::error::Error + std::marker::Send + std::marker::Sync>`
[INFO] [stdout]    --> src/triple/client/triple.rs:303:62
[INFO] [stdout]     |
[INFO] [stdout] 303 |             .map_err(|err| crate::status::Status::from_error(err.into()));
[INFO] [stdout]     |                                                              ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 303 -             .map_err(|err| crate::status::Status::from_error(err.into()));
[INFO] [stdout] 303 +             .map_err(|err| crate::status::Status::from_error(err));
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 303 -             .map_err(|err| crate::status::Status::from_error(err.into()));
[INFO] [stdout] 303 +             .map_err(|err| crate::status::Status::from_error(<Box<dyn std::error::Error + std::marker::Send + std::marker::Sync> as Into<_>>::into(err)));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `Box<dyn std::error::Error + std::marker::Send + std::marker::Sync>`
[INFO] [stdout]    --> src/triple/client/triple.rs:374:62
[INFO] [stdout]     |
[INFO] [stdout] 374 |             .map_err(|err| crate::status::Status::from_error(err.into()));
[INFO] [stdout]     |                                                              ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 374 -             .map_err(|err| crate::status::Status::from_error(err.into()));
[INFO] [stdout] 374 +             .map_err(|err| crate::status::Status::from_error(err));
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 374 -             .map_err(|err| crate::status::Status::from_error(err.into()));
[INFO] [stdout] 374 +             .map_err(|err| crate::status::Status::from_error(<Box<dyn std::error::Error + std::marker::Send + std::marker::Sync> as Into<_>>::into(err)));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `status::Status`
[INFO] [stdout]   --> src/triple/encode.rs:86:45
[INFO] [stdout]    |
[INFO] [stdout] 86 |                 Some(Err(err)) => yield Err(err.into()),
[INFO] [stdout]    |                                             ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]    |
[INFO] [stdout] 86 -                 Some(Err(err)) => yield Err(err.into()),
[INFO] [stdout] 86 +                 Some(Err(err)) => yield Err(err),
[INFO] [stdout]    |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]    |
[INFO] [stdout] 86 -                 Some(Err(err)) => yield Err(err.into()),
[INFO] [stdout] 86 +                 Some(Err(err)) => yield Err(<status::Status as Into<_>>::into(err)),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/params/extension_param.rs:39:15
[INFO] [stdout]    |
[INFO] [stdout] 39 |     fn as_str(&self) -> Cow<str> {
[INFO] [stdout]    |               ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |               |
[INFO] [stdout]    |               the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 39 |     fn as_str(&self) -> Cow<'_, str> {
[INFO] [stdout]    |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/params/extension_param.rs:71:15
[INFO] [stdout]    |
[INFO] [stdout] 71 |     fn as_str(&self) -> Cow<str> {
[INFO] [stdout]    |               ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |               |
[INFO] [stdout]    |               the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 71 |     fn as_str(&self) -> Cow<'_, str> {
[INFO] [stdout]    |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/params/registry_param.rs:39:15
[INFO] [stdout]    |
[INFO] [stdout] 39 |     fn as_str(&self) -> Cow<str> {
[INFO] [stdout]    |               ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |               |
[INFO] [stdout]    |               the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 39 |     fn as_str(&self) -> Cow<'_, str> {
[INFO] [stdout]    |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/params/registry_param.rs:71:15
[INFO] [stdout]    |
[INFO] [stdout] 71 |     fn as_str(&self) -> Cow<str> {
[INFO] [stdout]    |               ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |               |
[INFO] [stdout]    |               the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 71 |     fn as_str(&self) -> Cow<'_, str> {
[INFO] [stdout]    |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/params/registry_param.rs:109:15
[INFO] [stdout]     |
[INFO] [stdout] 109 |     fn as_str(&self) -> Cow<str> {
[INFO] [stdout]     |               ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |               |
[INFO] [stdout]     |               the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 109 |     fn as_str(&self) -> Cow<'_, str> {
[INFO] [stdout]     |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/params/registry_param.rs:147:15
[INFO] [stdout]     |
[INFO] [stdout] 147 |     fn as_str(&self) -> Cow<str> {
[INFO] [stdout]     |               ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |               |
[INFO] [stdout]     |               the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 147 |     fn as_str(&self) -> Cow<'_, str> {
[INFO] [stdout]     |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/params/registry_param.rs:185:15
[INFO] [stdout]     |
[INFO] [stdout] 185 |     fn as_str(&self) -> Cow<str> {
[INFO] [stdout]     |               ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |               |
[INFO] [stdout]     |               the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 185 |     fn as_str(&self) -> Cow<'_, str> {
[INFO] [stdout]     |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/params/registry_param.rs:223:15
[INFO] [stdout]     |
[INFO] [stdout] 223 |     fn as_str(&self) -> Cow<str> {
[INFO] [stdout]     |               ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |               |
[INFO] [stdout]     |               the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 223 |     fn as_str(&self) -> Cow<'_, str> {
[INFO] [stdout]     |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/params/registry_param.rs:261:15
[INFO] [stdout]     |
[INFO] [stdout] 261 |     fn as_str(&self) -> Cow<str> {
[INFO] [stdout]     |               ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |               |
[INFO] [stdout]     |               the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 261 |     fn as_str(&self) -> Cow<'_, str> {
[INFO] [stdout]     |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/params/registry_param.rs:299:15
[INFO] [stdout]     |
[INFO] [stdout] 299 |     fn as_str(&self) -> Cow<str> {
[INFO] [stdout]     |               ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |               |
[INFO] [stdout]     |               the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 299 |     fn as_str(&self) -> Cow<'_, str> {
[INFO] [stdout]     |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/params/registry_param.rs:338:15
[INFO] [stdout]     |
[INFO] [stdout] 338 |     fn as_str(&self) -> Cow<str> {
[INFO] [stdout]     |               ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |               |
[INFO] [stdout]     |               the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 338 |     fn as_str(&self) -> Cow<'_, str> {
[INFO] [stdout]     |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/url.rs:176:15
[INFO] [stdout]     |
[INFO] [stdout] 176 |     fn as_str(&self) -> Cow<str>;
[INFO] [stdout]     |               ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |               |
[INFO] [stdout]     |               the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 176 |     fn as_str(&self) -> Cow<'_, str>;
[INFO] [stdout]     |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `dubbo` (lib test) due to 5 previous errors; 15 warnings emitted
[INFO] [stderr] warning: unused dependency `argh`
[INFO] [stderr]  --> Cargo.toml:4:15
[INFO] [stderr]   |
[INFO] [stderr] 4 | [dependencies.argh]
[INFO] [stderr]   |               ^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `argh`
[INFO] [stderr] warning: unused dependency `dyn-clone`
[INFO] [stderr]   --> Cargo.toml:22:15
[INFO] [stderr]    |
[INFO] [stderr] 22 | [dependencies.dyn-clone]
[INFO] [stderr]    |               ^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: consider removing the dependency on `dyn-clone`
[INFO] [stderr] warning: unused dependency `nacos-sdk`
[INFO] [stderr]   --> Cargo.toml:53:15
[INFO] [stderr]    |
[INFO] [stderr] 53 | [dependencies.nacos-sdk]
[INFO] [stderr]    |               ^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: consider removing the dependency on `nacos-sdk`
[INFO] [stderr] warning: unused dependency `regex`
[INFO] [stderr]   --> Cargo.toml:72:15
[INFO] [stderr]    |
[INFO] [stderr] 72 | [dependencies.regex]
[INFO] [stderr]    |               ^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: consider removing the dependency on `regex`
[INFO] [stderr] warning: unused dependency `urlencoding`
[INFO] [stderr]    --> Cargo.toml:133:15
[INFO] [stderr]     |
[INFO] [stderr] 133 | [dependencies.urlencoding]
[INFO] [stderr]     |               ^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr] help: consider removing the dependency on `urlencoding`
[INFO] [stderr] warning: `dubbo` (manifest) generated 5 warnings
[INFO] running `Command { std: "docker" "inspect" "e0bcf7938260bf2c576a765f7cdfcd6d44dc67324299b9fea4985e4b2deea4a2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e0bcf7938260bf2c576a765f7cdfcd6d44dc67324299b9fea4985e4b2deea4a2", kill_on_drop: false }`
[INFO] [stdout] e0bcf7938260bf2c576a765f7cdfcd6d44dc67324299b9fea4985e4b2deea4a2
