[INFO] fetching crate reproto-derive 0.3.36...
[INFO] checking reproto-derive-0.3.36 against a5689b034ad287112f709693384a37f1377eb9cc for pr-129249-3
[INFO] extracting crate reproto-derive 0.3.36 into /workspace/builds/worker-4-tc2/source
[INFO] started tweaking crates.io crate reproto-derive 0.3.36
[INFO] finished tweaking crates.io crate reproto-derive 0.3.36
[INFO] tweaked toml for crates.io crate reproto-derive 0.3.36 written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate reproto-derive 0.3.36 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 57 packages to highest compatible versions
[INFO] [stderr]       Adding serde_yaml v0.7.5 (available: v0.9.34+deprecated)
[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] warning: Cargo.toml: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr] warning: `package.homepage` is redundant with `package.repository`
[INFO] [stderr]   --> Cargo.toml:34:12
[INFO] [stderr]    |
[INFO] [stderr] 34 | homepage = "https://github.com/reproto/reproto"
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 38 | repository = "https://github.com/reproto/reproto"
[INFO] [stderr]    |              ------------------------------------
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::redundant_homepage` is set to `warn` by default
[INFO] [stderr] help: consider removing `package.homepage`
[INFO] [stderr] warning: `reproto-derive` (manifest) generated 2 warnings
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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] 332c6e0dd55962211a3c6e0d979f790b1f193d5cdcefb4ee9a5f79aec31ba396
[INFO] running `Command { std: "docker" "start" "332c6e0dd55962211a3c6e0d979f790b1f193d5cdcefb4ee9a5f79aec31ba396", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "332c6e0dd55962211a3c6e0d979f790b1f193d5cdcefb4ee9a5f79aec31ba396", 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" "332c6e0dd55962211a3c6e0d979f790b1f193d5cdcefb4ee9a5f79aec31ba396" "/opt/rustwide/cargo-home/bin/cargo" "+a5689b034ad287112f709693384a37f1377eb9cc" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "332c6e0dd55962211a3c6e0d979f790b1f193d5cdcefb4ee9a5f79aec31ba396", 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" "332c6e0dd55962211a3c6e0d979f790b1f193d5cdcefb4ee9a5f79aec31ba396" "/opt/rustwide/cargo-home/bin/cargo" "+a5689b034ad287112f709693384a37f1377eb9cc" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr] warning: Cargo.toml: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr] warning: `package.homepage` is redundant with `package.repository`
[INFO] [stderr]   --> Cargo.toml:34:12
[INFO] [stderr]    |
[INFO] [stderr] 34 | homepage = "https://github.com/reproto/reproto"
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 38 | repository = "https://github.com/reproto/reproto"
[INFO] [stderr]    |              ------------------------------------
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::redundant_homepage` is set to `warn` by default
[INFO] [stderr] help: consider removing `package.homepage`
[INFO] [stderr] warning: `reproto-derive` (manifest) generated 2 warnings
[INFO] [stderr]     Checking memchr v2.8.3
[INFO] [stderr]    Compiling serde v1.0.229
[INFO] [stderr]    Compiling proc-macro2 v1.0.107
[INFO] [stderr]    Compiling libc v0.2.191
[INFO] [stderr]     Checking tinyvec v1.13.3
[INFO] [stderr]    Compiling num-bigint v0.1.45
[INFO] [stderr]     Checking matches v0.1.10
[INFO] [stderr]     Checking miniz_oxide v0.8.9
[INFO] [stderr]     Checking num-integer v0.1.47
[INFO] [stderr]     Checking percent-encoding v1.0.1
[INFO] [stderr]     Checking ropey v0.6.3
[INFO] [stderr]     Checking num-traits v0.1.43
[INFO] [stderr]    Compiling serde_json v1.0.154
[INFO] [stderr]     Checking equivalent v1.0.3
[INFO] [stderr]     Checking unicode-normalization v0.1.26
[INFO] [stderr]     Checking indexmap v2.14.2
[INFO] [stderr]     Checking object v0.37.3
[INFO] [stderr]    Compiling quote v1.0.47
[INFO] [stderr]     Checking aho-corasick v1.1.5
[INFO] [stderr]     Checking idna v0.1.5
[INFO] [stderr]    Compiling syn v3.0.9
[INFO] [stderr]     Checking dtoa v0.4.8
[INFO] [stderr]     Checking linked-hash-map v0.5.6
[INFO] [stderr]     Checking reproto-semver v0.3.36
[INFO] [stderr]     Checking relative-path v0.3.7
[INFO] [stderr]     Checking yaml-rust v0.4.5
[INFO] [stderr]     Checking url v1.7.2
[INFO] [stderr]     Checking serde_yaml v0.7.5
[INFO] [stderr]     Checking regex-automata v0.4.18
[INFO] [stderr]    Compiling serde_derive v1.0.229
[INFO] [stderr]     Checking regex v1.13.1
[INFO] [stderr]     Checking backtrace v0.3.76
[INFO] [stderr]     Checking Inflector v0.11.4
[INFO] [stderr]     Checking reproto-core v0.3.36
[INFO] [stderr]     Checking reproto-lexer v0.3.36
[INFO] [stderr]     Checking reproto-ast v0.3.36
[INFO] [stderr]     Checking reproto-derive v0.3.36 (/opt/rustwide/workdir)
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> lib.rs:37:17
[INFO] [stdout]    |
[INFO] [stdout] 37 |     format: Box<format::Format>,
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 37 |     format: Box<dyn format::Format>,
[INFO] [stdout]    |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> json.rs:37:36
[INFO] [stdout]    |
[INFO] [stdout] 37 |     fn as_object(&self) -> Option<&format::Object<Value = Self>> {
[INFO] [stdout]    |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 37 |     fn as_object(&self) -> Option<&dyn format::Object<Value = Self>> {
[INFO] [stdout]    |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> format.rs:22:36
[INFO] [stdout]    |
[INFO] [stdout] 22 |     fn as_object(&self) -> Option<&Object<Value = Self>>;
[INFO] [stdout]    |                                    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 22 |     fn as_object(&self) -> Option<&dyn Object<Value = Self>>;
[INFO] [stdout]    |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> yaml.rs:29:36
[INFO] [stdout]    |
[INFO] [stdout] 29 |     fn as_object(&self) -> Option<&format::Object<Value = Self>> {
[INFO] [stdout]    |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 29 |     fn as_object(&self) -> Option<&dyn format::Object<Value = Self>> {
[INFO] [stdout]    |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> lib.rs:84:21
[INFO] [stdout]    |
[INFO] [stdout] 84 |         format: Box<format::Format>,
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 84 |         format: Box<dyn format::Format>,
[INFO] [stdout]    |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> json.rs:39:64
[INFO] [stdout]    |
[INFO] [stdout] 39 |             json::Value::Object(ref object) => Some(object as &format::Object<Value = Self>),
[INFO] [stdout]    |                                                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 39 |             json::Value::Object(ref object) => Some(object as &dyn format::Object<Value = Self>),
[INFO] [stdout]    |                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> yaml.rs:31:67
[INFO] [stdout]    |
[INFO] [stdout] 31 |             yaml::Value::Mapping(ref mapping) => Some(mapping as &format::Object<Value = Self>),
[INFO] [stdout]    |                                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 31 |             yaml::Value::Mapping(ref mapping) => Some(mapping as &dyn format::Object<Value = Self>),
[INFO] [stdout]    |                                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> lib.rs:37:17
[INFO] [stdout]    |
[INFO] [stdout] 37 |     format: Box<format::Format>,
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 37 |     format: Box<dyn format::Format>,
[INFO] [stdout]    |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> json.rs:37:36
[INFO] [stdout]    |
[INFO] [stdout] 37 |     fn as_object(&self) -> Option<&format::Object<Value = Self>> {
[INFO] [stdout]    |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 37 |     fn as_object(&self) -> Option<&dyn format::Object<Value = Self>> {
[INFO] [stdout]    |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> format.rs:22:36
[INFO] [stdout]    |
[INFO] [stdout] 22 |     fn as_object(&self) -> Option<&Object<Value = Self>>;
[INFO] [stdout]    |                                    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 22 |     fn as_object(&self) -> Option<&dyn Object<Value = Self>>;
[INFO] [stdout]    |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> yaml.rs:29:36
[INFO] [stdout]    |
[INFO] [stdout] 29 |     fn as_object(&self) -> Option<&format::Object<Value = Self>> {
[INFO] [stdout]    |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 29 |     fn as_object(&self) -> Option<&dyn format::Object<Value = Self>> {
[INFO] [stdout]    |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> lib.rs:84:21
[INFO] [stdout]    |
[INFO] [stdout] 84 |         format: Box<format::Format>,
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 84 |         format: Box<dyn format::Format>,
[INFO] [stdout]    |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> json.rs:39:64
[INFO] [stdout]    |
[INFO] [stdout] 39 |             json::Value::Object(ref object) => Some(object as &format::Object<Value = Self>),
[INFO] [stdout]    |                                                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 39 |             json::Value::Object(ref object) => Some(object as &dyn format::Object<Value = Self>),
[INFO] [stdout]    |                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `ast::Type<'_>`
[INFO] [stdout]    --> lib.rs:233:26
[INFO] [stdout]     |
[INFO] [stdout] 233 |             ty: Loc::new(ty.into(), self.span.clone()),
[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] 233 -             ty: Loc::new(ty.into(), self.span.clone()),
[INFO] [stdout] 233 +             ty: Loc::new(ty, self.span.clone()),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 233 -             ty: Loc::new(ty.into(), self.span.clone()),
[INFO] [stdout] 233 +             ty: Loc::new(<ast::Type<'_> as Into<_>>::into(ty), self.span.clone()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> sir.rs:105:13
[INFO] [stdout]     |
[INFO] [stdout] 105 |             mem::replace(self, replace);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]     |
[INFO] [stdout] 105 |             let _unused = mem::replace(self, replace);
[INFO] [stdout]     |             +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `reproto-derive` (lib) due to 1 previous error; 8 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> yaml.rs:31:67
[INFO] [stdout]    |
[INFO] [stdout] 31 |             yaml::Value::Mapping(ref mapping) => Some(mapping as &format::Object<Value = Self>),
[INFO] [stdout]    |                                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 31 |             yaml::Value::Mapping(ref mapping) => Some(mapping as &dyn format::Object<Value = Self>),
[INFO] [stdout]    |                                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `ast::Type<'_>`
[INFO] [stdout]    --> lib.rs:233:26
[INFO] [stdout]     |
[INFO] [stdout] 233 |             ty: Loc::new(ty.into(), self.span.clone()),
[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] 233 -             ty: Loc::new(ty.into(), self.span.clone()),
[INFO] [stdout] 233 +             ty: Loc::new(ty, self.span.clone()),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 233 -             ty: Loc::new(ty.into(), self.span.clone()),
[INFO] [stdout] 233 +             ty: Loc::new(<ast::Type<'_> as Into<_>>::into(ty), self.span.clone()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> sir.rs:105:13
[INFO] [stdout]     |
[INFO] [stdout] 105 |             mem::replace(self, replace);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]     |
[INFO] [stdout] 105 |             let _unused = mem::replace(self, replace);
[INFO] [stdout]     |             +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `reproto-derive` (lib test) due to 1 previous error; 8 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "332c6e0dd55962211a3c6e0d979f790b1f193d5cdcefb4ee9a5f79aec31ba396", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "332c6e0dd55962211a3c6e0d979f790b1f193d5cdcefb4ee9a5f79aec31ba396", kill_on_drop: false }`
[INFO] [stdout] 332c6e0dd55962211a3c6e0d979f790b1f193d5cdcefb4ee9a5f79aec31ba396
