[INFO] fetching crate prost-helper 0.8.3... [INFO] checking prost-helper-0.8.3 against try#a4980311fb7bb9e7893708e6bd3fbbfb2819fd3d for pr-145342-1 [INFO] extracting crate prost-helper 0.8.3 into /workspace/builds/worker-2-tc2/source [INFO] started tweaking crates.io crate prost-helper 0.8.3 [INFO] finished tweaking crates.io crate prost-helper 0.8.3 [INFO] tweaked toml for crates.io crate prost-helper 0.8.3 written to /workspace/builds/worker-2-tc2/source/Cargo.toml [INFO] validating manifest of crates.io crate prost-helper 0.8.3 on toolchain a4980311fb7bb9e7893708e6bd3fbbfb2819fd3d [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+a4980311fb7bb9e7893708e6bd3fbbfb2819fd3d" "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" "+a4980311fb7bb9e7893708e6bd3fbbfb2819fd3d" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Locking 31 packages to latest compatible versions [INFO] [stderr] Adding base64 v0.21.7 (available: v0.22.1) [INFO] [stderr] Adding prost v0.12.6 (available: v0.14.1) [INFO] [stderr] Adding uuid7 v0.7.2 (available: v1.1.0) [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+a4980311fb7bb9e7893708e6bd3fbbfb2819fd3d" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,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" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+a4980311fb7bb9e7893708e6bd3fbbfb2819fd3d" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] fa54449dafb6974e39195643b45fac0aa45abe2185bf9b07a92f2547966cb2c7 [INFO] running `Command { std: "docker" "start" "-a" "fa54449dafb6974e39195643b45fac0aa45abe2185bf9b07a92f2547966cb2c7", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "fa54449dafb6974e39195643b45fac0aa45abe2185bf9b07a92f2547966cb2c7", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "fa54449dafb6974e39195643b45fac0aa45abe2185bf9b07a92f2547966cb2c7", kill_on_drop: false }` [INFO] [stdout] fa54449dafb6974e39195643b45fac0aa45abe2185bf9b07a92f2547966cb2c7 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,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" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-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" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+a4980311fb7bb9e7893708e6bd3fbbfb2819fd3d" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] d0c3dba01be2f212c2322c393a0e3f17b0bd9fd163218657d90fb920106b2326 [INFO] running `Command { std: "docker" "start" "-a" "d0c3dba01be2f212c2322c393a0e3f17b0bd9fd163218657d90fb920106b2326", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.101 [INFO] [stderr] Compiling unicode-ident v1.0.18 [INFO] [stderr] Compiling libc v0.2.175 [INFO] [stderr] Compiling zerocopy v0.8.26 [INFO] [stderr] Checking cfg-if v1.0.3 [INFO] [stderr] Compiling anyhow v1.0.99 [INFO] [stderr] Compiling autocfg v1.5.0 [INFO] [stderr] Compiling serde v1.0.219 [INFO] [stderr] Compiling either v1.15.0 [INFO] [stderr] Compiling serde_json v1.0.143 [INFO] [stderr] Checking memchr v2.7.5 [INFO] [stderr] Checking bytes v1.10.1 [INFO] [stderr] Checking fstr v0.2.13 [INFO] [stderr] Checking itoa v1.0.15 [INFO] [stderr] Checking ryu v1.0.20 [INFO] [stderr] Checking base64 v0.21.7 [INFO] [stderr] Compiling itertools v0.12.1 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling quote v1.0.40 [INFO] [stderr] Compiling syn v2.0.106 [INFO] [stderr] Checking getrandom v0.2.16 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Checking ppv-lite86 v0.2.21 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Checking uuid7 v0.7.2 [INFO] [stderr] Compiling serde_derive v1.0.219 [INFO] [stderr] Compiling prost-derive v0.12.6 [INFO] [stderr] Checking prost v0.12.6 [INFO] [stderr] Checking prost-helper v0.8.3 (/opt/rustwide/workdir) [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/macros.rs:8:11 [INFO] [stdout] | [INFO] [stdout] 8 | $(impl std::convert::From<$type> for Vec { [INFO] [stdout] | ^^^^^------------------^^^^^^^^^^^^---^^^^ [INFO] [stdout] | | | [INFO] [stdout] | | `Vec` is not local [INFO] [stdout] | `From` is not local [INFO] [stdout] ... [INFO] [stdout] 117 | fn test_prost_try_into_vec() { [INFO] [stdout] | ---------------------------- move the `impl` block outside of this function `test_prost_try_into_vec` [INFO] [stdout] 118 | prost_into_vec!((Hello, 32), (World, 256)); [INFO] [stdout] | ------------------------------------------ [INFO] [stdout] | | | [INFO] [stdout] | | `Hello` is not local [INFO] [stdout] | in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: the macro `prost_into_vec` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: `#[warn(non_local_definitions)]` on by default [INFO] [stdout] = note: this warning originates in the macro `prost_into_vec` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/macros.rs:15:9 [INFO] [stdout] | [INFO] [stdout] 15 | impl std::convert::From<&$type> for Vec { [INFO] [stdout] | ^^^^^------------------^^^^^^^^^^^^^---^^^^ [INFO] [stdout] | | | [INFO] [stdout] | | `Vec` is not local [INFO] [stdout] | `From` is not local [INFO] [stdout] ... [INFO] [stdout] 117 | fn test_prost_try_into_vec() { [INFO] [stdout] | ---------------------------- move the `impl` block outside of this function `test_prost_try_into_vec` [INFO] [stdout] 118 | prost_into_vec!((Hello, 32), (World, 256)); [INFO] [stdout] | ------------------------------------------ [INFO] [stdout] | | | [INFO] [stdout] | | `Hello` is not local [INFO] [stdout] | in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: the macro `prost_into_vec` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: this warning originates in the macro `prost_into_vec` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/macros.rs:8:11 [INFO] [stdout] | [INFO] [stdout] 8 | $(impl std::convert::From<$type> for Vec { [INFO] [stdout] | ^^^^^------------------^^^^^^^^^^^^---^^^^ [INFO] [stdout] | | | [INFO] [stdout] | | `Vec` is not local [INFO] [stdout] | `From` is not local [INFO] [stdout] ... [INFO] [stdout] 117 | fn test_prost_try_into_vec() { [INFO] [stdout] | ---------------------------- move the `impl` block outside of this function `test_prost_try_into_vec` [INFO] [stdout] 118 | prost_into_vec!((Hello, 32), (World, 256)); [INFO] [stdout] | ------------------------------------------ [INFO] [stdout] | | | [INFO] [stdout] | | `World` is not local [INFO] [stdout] | in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: the macro `prost_into_vec` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: this warning originates in the macro `prost_into_vec` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/macros.rs:15:9 [INFO] [stdout] | [INFO] [stdout] 15 | impl std::convert::From<&$type> for Vec { [INFO] [stdout] | ^^^^^------------------^^^^^^^^^^^^^---^^^^ [INFO] [stdout] | | | [INFO] [stdout] | | `Vec` is not local [INFO] [stdout] | `From` is not local [INFO] [stdout] ... [INFO] [stdout] 117 | fn test_prost_try_into_vec() { [INFO] [stdout] | ---------------------------- move the `impl` block outside of this function `test_prost_try_into_vec` [INFO] [stdout] 118 | prost_into_vec!((Hello, 32), (World, 256)); [INFO] [stdout] | ------------------------------------------ [INFO] [stdout] | | | [INFO] [stdout] | | `World` is not local [INFO] [stdout] | in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: the macro `prost_into_vec` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: this warning originates in the macro `prost_into_vec` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/macros.rs:52:11 [INFO] [stdout] | [INFO] [stdout] 52 | $(impl std::convert::TryFrom> for $type { [INFO] [stdout] | ^^^^^---------------------^---^^^^^^^^^^^^^^^ [INFO] [stdout] | | | [INFO] [stdout] | | `Vec` is not local [INFO] [stdout] | `TryFrom` is not local [INFO] [stdout] ... [INFO] [stdout] 117 | fn test_prost_try_into_vec() { [INFO] [stdout] | ---------------------------- move the `impl` block outside of this function `test_prost_try_into_vec` [INFO] [stdout] 118 | prost_into_vec!((Hello, 32), (World, 256)); [INFO] [stdout] 119 | vec_try_into_prost!(Hello, World); [INFO] [stdout] | --------------------------------- [INFO] [stdout] | | | [INFO] [stdout] | | `Hello` is not local [INFO] [stdout] | in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: the macro `vec_try_into_prost` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: this warning originates in the macro `vec_try_into_prost` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/macros.rs:52:51 [INFO] [stdout] | [INFO] [stdout] 52 | $(impl std::convert::TryFrom> for $type { [INFO] [stdout] | ___________________________________________________^ [INFO] [stdout] 53 | | type Error = prost::DecodeError; [INFO] [stdout] 54 | | fn try_from(buf: Vec) -> Result { [INFO] [stdout] 55 | | let msg: $type = Message::decode(&buf[..])?; [INFO] [stdout] ... | [INFO] [stdout] 60 | | impl std::convert::TryFrom<&[u8]> for $type { [INFO] [stdout] | | ^ --------------------- `TryFrom` is not local [INFO] [stdout] | |________| [INFO] [stdout] | [INFO] [stdout] ... [INFO] [stdout] 117 | fn test_prost_try_into_vec() { [INFO] [stdout] | ---------------------------- move the `impl` block outside of this function `test_prost_try_into_vec` [INFO] [stdout] 118 | prost_into_vec!((Hello, 32), (World, 256)); [INFO] [stdout] 119 | vec_try_into_prost!(Hello, World); [INFO] [stdout] | --------------------------------- [INFO] [stdout] | | | [INFO] [stdout] | | `Hello` is not local [INFO] [stdout] | in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: the macro `vec_try_into_prost` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: this warning originates in the macro `vec_try_into_prost` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/macros.rs:52:11 [INFO] [stdout] | [INFO] [stdout] 52 | $(impl std::convert::TryFrom> for $type { [INFO] [stdout] | ^^^^^---------------------^---^^^^^^^^^^^^^^^ [INFO] [stdout] | | | [INFO] [stdout] | | `Vec` is not local [INFO] [stdout] | `TryFrom` is not local [INFO] [stdout] ... [INFO] [stdout] 117 | fn test_prost_try_into_vec() { [INFO] [stdout] | ---------------------------- move the `impl` block outside of this function `test_prost_try_into_vec` [INFO] [stdout] 118 | prost_into_vec!((Hello, 32), (World, 256)); [INFO] [stdout] 119 | vec_try_into_prost!(Hello, World); [INFO] [stdout] | --------------------------------- [INFO] [stdout] | | | [INFO] [stdout] | | `World` is not local [INFO] [stdout] | in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: the macro `vec_try_into_prost` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: this warning originates in the macro `vec_try_into_prost` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/macros.rs:52:51 [INFO] [stdout] | [INFO] [stdout] 52 | $(impl std::convert::TryFrom> for $type { [INFO] [stdout] | ___________________________________________________^ [INFO] [stdout] 53 | | type Error = prost::DecodeError; [INFO] [stdout] 54 | | fn try_from(buf: Vec) -> Result { [INFO] [stdout] 55 | | let msg: $type = Message::decode(&buf[..])?; [INFO] [stdout] ... | [INFO] [stdout] 60 | | impl std::convert::TryFrom<&[u8]> for $type { [INFO] [stdout] | | ^ --------------------- `TryFrom` is not local [INFO] [stdout] | |________| [INFO] [stdout] | [INFO] [stdout] ... [INFO] [stdout] 117 | fn test_prost_try_into_vec() { [INFO] [stdout] | ---------------------------- move the `impl` block outside of this function `test_prost_try_into_vec` [INFO] [stdout] 118 | prost_into_vec!((Hello, 32), (World, 256)); [INFO] [stdout] 119 | vec_try_into_prost!(Hello, World); [INFO] [stdout] | --------------------------------- [INFO] [stdout] | | | [INFO] [stdout] | | `World` is not local [INFO] [stdout] | in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: the macro `vec_try_into_prost` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: this warning originates in the macro `vec_try_into_prost` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/macros.rs:28:11 [INFO] [stdout] | [INFO] [stdout] 28 | $(impl std::convert::From<$type> for bytes::Bytes { [INFO] [stdout] | ^^^^^------------------^^^^^^^^^^^^------------ [INFO] [stdout] | | | [INFO] [stdout] | | `Bytes` is not local [INFO] [stdout] | `From` is not local [INFO] [stdout] ... [INFO] [stdout] 132 | fn test_prost_try_into_bytes() { [INFO] [stdout] | ------------------------------ move the `impl` block outside of this function `test_prost_try_into_bytes` [INFO] [stdout] 133 | use bytes::Bytes; [INFO] [stdout] 134 | prost_into_bytes!((Hello, 32), (World, 256)); [INFO] [stdout] | -------------------------------------------- [INFO] [stdout] | | | [INFO] [stdout] | | `Hello` is not local [INFO] [stdout] | in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: the macro `prost_into_bytes` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: this warning originates in the macro `prost_into_bytes` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/macros.rs:35:9 [INFO] [stdout] | [INFO] [stdout] 35 | impl std::convert::From<&$type> for bytes::Bytes { [INFO] [stdout] | ^^^^^------------------^^^^^^^^^^^^^------------ [INFO] [stdout] | | | [INFO] [stdout] | | `Bytes` is not local [INFO] [stdout] | `From` is not local [INFO] [stdout] ... [INFO] [stdout] 132 | fn test_prost_try_into_bytes() { [INFO] [stdout] | ------------------------------ move the `impl` block outside of this function `test_prost_try_into_bytes` [INFO] [stdout] 133 | use bytes::Bytes; [INFO] [stdout] 134 | prost_into_bytes!((Hello, 32), (World, 256)); [INFO] [stdout] | -------------------------------------------- [INFO] [stdout] | | | [INFO] [stdout] | | `Hello` is not local [INFO] [stdout] | in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: the macro `prost_into_bytes` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: this warning originates in the macro `prost_into_bytes` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/macros.rs:28:11 [INFO] [stdout] | [INFO] [stdout] 28 | $(impl std::convert::From<$type> for bytes::Bytes { [INFO] [stdout] | ^^^^^------------------^^^^^^^^^^^^------------ [INFO] [stdout] | | | [INFO] [stdout] | | `Bytes` is not local [INFO] [stdout] | `From` is not local [INFO] [stdout] ... [INFO] [stdout] 132 | fn test_prost_try_into_bytes() { [INFO] [stdout] | ------------------------------ move the `impl` block outside of this function `test_prost_try_into_bytes` [INFO] [stdout] 133 | use bytes::Bytes; [INFO] [stdout] 134 | prost_into_bytes!((Hello, 32), (World, 256)); [INFO] [stdout] | -------------------------------------------- [INFO] [stdout] | | | [INFO] [stdout] | | `World` is not local [INFO] [stdout] | in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: the macro `prost_into_bytes` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: this warning originates in the macro `prost_into_bytes` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/macros.rs:35:9 [INFO] [stdout] | [INFO] [stdout] 35 | impl std::convert::From<&$type> for bytes::Bytes { [INFO] [stdout] | ^^^^^------------------^^^^^^^^^^^^^------------ [INFO] [stdout] | | | [INFO] [stdout] | | `Bytes` is not local [INFO] [stdout] | `From` is not local [INFO] [stdout] ... [INFO] [stdout] 132 | fn test_prost_try_into_bytes() { [INFO] [stdout] | ------------------------------ move the `impl` block outside of this function `test_prost_try_into_bytes` [INFO] [stdout] 133 | use bytes::Bytes; [INFO] [stdout] 134 | prost_into_bytes!((Hello, 32), (World, 256)); [INFO] [stdout] | -------------------------------------------- [INFO] [stdout] | | | [INFO] [stdout] | | `World` is not local [INFO] [stdout] | in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: the macro `prost_into_bytes` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: this warning originates in the macro `prost_into_bytes` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/macros.rs:73:11 [INFO] [stdout] | [INFO] [stdout] 73 | $(impl std::convert::TryFrom for $type { [INFO] [stdout] | ^^^^^---------------------^------------^^^^^^^^^^^ [INFO] [stdout] | | | [INFO] [stdout] | | `Bytes` is not local [INFO] [stdout] | `TryFrom` is not local [INFO] [stdout] ... [INFO] [stdout] 132 | fn test_prost_try_into_bytes() { [INFO] [stdout] | ------------------------------ move the `impl` block outside of this function `test_prost_try_into_bytes` [INFO] [stdout] ... [INFO] [stdout] 135 | bytes_try_into_prost!(Hello, World); [INFO] [stdout] | ----------------------------------- [INFO] [stdout] | | | [INFO] [stdout] | | `Hello` is not local [INFO] [stdout] | in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: the macro `bytes_try_into_prost` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: this warning originates in the macro `bytes_try_into_prost` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/macros.rs:73:11 [INFO] [stdout] | [INFO] [stdout] 73 | $(impl std::convert::TryFrom for $type { [INFO] [stdout] | ^^^^^---------------------^------------^^^^^^^^^^^ [INFO] [stdout] | | | [INFO] [stdout] | | `Bytes` is not local [INFO] [stdout] | `TryFrom` is not local [INFO] [stdout] ... [INFO] [stdout] 132 | fn test_prost_try_into_bytes() { [INFO] [stdout] | ------------------------------ move the `impl` block outside of this function `test_prost_try_into_bytes` [INFO] [stdout] ... [INFO] [stdout] 135 | bytes_try_into_prost!(Hello, World); [INFO] [stdout] | ----------------------------------- [INFO] [stdout] | | | [INFO] [stdout] | | `World` is not local [INFO] [stdout] | in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: the macro `bytes_try_into_prost` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: this warning originates in the macro `bytes_try_into_prost` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/macros.rs:88:11 [INFO] [stdout] | [INFO] [stdout] 88 | $(impl ToJson for $type { [INFO] [stdout] | ^^^^^------^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `ToJson` is not local [INFO] [stdout] ... [INFO] [stdout] 145 | fn test_prost_to_json() { [INFO] [stdout] | ----------------------- move the `impl` block outside of this function `test_prost_to_json` [INFO] [stdout] ... [INFO] [stdout] 148 | prost_to_json!(Hello, World); [INFO] [stdout] | ---------------------------- [INFO] [stdout] | | | [INFO] [stdout] | | `Hello` is not local [INFO] [stdout] | in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: the macro `prost_to_json` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: this warning originates in the macro `prost_to_json` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/macros.rs:88:11 [INFO] [stdout] | [INFO] [stdout] 88 | $(impl ToJson for $type { [INFO] [stdout] | ^^^^^------^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `ToJson` is not local [INFO] [stdout] ... [INFO] [stdout] 145 | fn test_prost_to_json() { [INFO] [stdout] | ----------------------- move the `impl` block outside of this function `test_prost_to_json` [INFO] [stdout] ... [INFO] [stdout] 148 | prost_to_json!(Hello, World); [INFO] [stdout] | ---------------------------- [INFO] [stdout] | | | [INFO] [stdout] | | `World` is not local [INFO] [stdout] | in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: the macro `prost_to_json` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: this warning originates in the macro `prost_to_json` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 15.45s [INFO] running `Command { std: "docker" "inspect" "d0c3dba01be2f212c2322c393a0e3f17b0bd9fd163218657d90fb920106b2326", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d0c3dba01be2f212c2322c393a0e3f17b0bd9fd163218657d90fb920106b2326", kill_on_drop: false }` [INFO] [stdout] d0c3dba01be2f212c2322c393a0e3f17b0bd9fd163218657d90fb920106b2326