[INFO] cloning repository https://github.com/kevin4hig/irondash
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/kevin4hig/irondash" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkevin4hig%2Firondash", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkevin4hig%2Firondash'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 036ed9395bf580eadafac0ed5e548bf2ed25e8aa
[INFO] checking kevin4hig/irondash against 52995a223f2919dd3e2e427231db90a257350ded for pr-129249-4
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkevin4hig%2Firondash" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/kevin4hig/irondash
[INFO] finished tweaking git repo https://github.com/kevin4hig/irondash
[INFO] tweaked toml for git repo https://github.com/kevin4hig/irondash written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/kevin4hig/irondash on toolchain 52995a223f2919dd3e2e427231db90a257350ded
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+52995a223f2919dd3e2e427231db90a257350ded" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/kevin4hig/irondash already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+52995a223f2919dd3e2e427231db90a257350ded" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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] 02d603d1adb7fafa141180ee85587e33f135b4c36a393c2698b9d66e64d2d5cf
[INFO] running `Command { std: "docker" "start" "02d603d1adb7fafa141180ee85587e33f135b4c36a393c2698b9d66e64d2d5cf", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "02d603d1adb7fafa141180ee85587e33f135b4c36a393c2698b9d66e64d2d5cf", 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" "02d603d1adb7fafa141180ee85587e33f135b4c36a393c2698b9d66e64d2d5cf" "/opt/rustwide/cargo-home/bin/cargo" "+52995a223f2919dd3e2e427231db90a257350ded" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "02d603d1adb7fafa141180ee85587e33f135b4c36a393c2698b9d66e64d2d5cf", 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" "02d603d1adb7fafa141180ee85587e33f135b4c36a393c2698b9d66e64d2d5cf" "/opt/rustwide/cargo-home/bin/cargo" "+52995a223f2919dd3e2e427231db90a257350ded" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling serde v1.0.216
[INFO] [stderr]    Compiling syn v2.0.91
[INFO] [stderr]     Checking smallvec v1.13.2
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]    Compiling indexmap v2.7.0
[INFO] [stderr]    Compiling cc v1.2.5
[INFO] [stderr]    Compiling winnow v0.6.20
[INFO] [stderr]    Compiling cfg-expr v0.15.8
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]     Checking irondash_engine_context v0.5.0
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.4
[INFO] [stderr]     Checking parking_lot_core v0.9.10
[INFO] [stderr]     Checking signal-hook-registry v1.4.2
[INFO] [stderr]     Checking parking_lot v0.12.3
[INFO] [stderr]    Compiling openssl v0.10.68
[INFO] [stderr]     Checking http v0.2.12
[INFO] [stderr]     Checking irondash_dart_ffi v0.2.0 (/opt/rustwide/workdir/dart_ffi)
[INFO] [stderr]    Compiling native-tls v0.2.12
[INFO] [stdout] error: useless conversion to the same type: `bool`
[INFO] [stdout]   --> dart_ffi/src/value.rs:39:26
[INFO] [stdout]    |
[INFO] [stdout] 35 | macro_rules! impl_from {
[INFO] [stdout] ...
[INFO] [stdout] 39 |                 $variant(v.into())
[INFO] [stdout]    |                          ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 45 | impl_from!(DartValue::Bool, bool);
[INFO] [stdout]    | --------------------------------- in this macro invocation
[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: you can instead use the fully-qualified path `<bool as Into<bool>::into(val) to avoid triggering this lint
[INFO] [stdout]    = note: `#[deny(self_type_conversion)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `i32`
[INFO] [stdout]   --> dart_ffi/src/value.rs:39:26
[INFO] [stdout]    |
[INFO] [stdout] 35 | macro_rules! impl_from {
[INFO] [stdout] ...
[INFO] [stdout] 39 |                 $variant(v.into())
[INFO] [stdout]    |                          ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 46 | impl_from!(DartValue::I32, i32);
[INFO] [stdout]    | ------------------------------- in this macro invocation
[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: you can instead use the fully-qualified path `<i32 as Into<i32>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `i64`
[INFO] [stdout]   --> dart_ffi/src/value.rs:39:26
[INFO] [stdout]    |
[INFO] [stdout] 35 | macro_rules! impl_from {
[INFO] [stdout] ...
[INFO] [stdout] 39 |                 $variant(v.into())
[INFO] [stdout]    |                          ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 47 | impl_from!(DartValue::I64, i64);
[INFO] [stdout]    | ------------------------------- in this macro invocation
[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: you can instead use the fully-qualified path `<i64 as Into<i64>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `f64`
[INFO] [stdout]   --> dart_ffi/src/value.rs:39:26
[INFO] [stdout]    |
[INFO] [stdout] 35 | macro_rules! impl_from {
[INFO] [stdout] ...
[INFO] [stdout] 39 |                 $variant(v.into())
[INFO] [stdout]    |                          ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 48 | impl_from!(DartValue::Double, f64);
[INFO] [stdout]    | ---------------------------------- in this macro invocation
[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: you can instead use the fully-qualified path `<f64 as Into<f64>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling time-core v0.1.2
[INFO] [stdout] error: useless conversion to the same type: `CString`
[INFO] [stdout]   --> dart_ffi/src/value.rs:39:26
[INFO] [stdout]    |
[INFO] [stdout] 35 | macro_rules! impl_from {
[INFO] [stdout] ...
[INFO] [stdout] 39 |                 $variant(v.into())
[INFO] [stdout]    |                          ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 49 | impl_from!(DartValue::String, CString);
[INFO] [stdout]    | -------------------------------------- in this macro invocation
[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: you can instead use the fully-qualified path `<CString as Into<CString>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `Vec<value::DartValue>`
[INFO] [stdout]   --> dart_ffi/src/value.rs:39:26
[INFO] [stdout]    |
[INFO] [stdout] 35 | macro_rules! impl_from {
[INFO] [stdout] ...
[INFO] [stdout] 39 |                 $variant(v.into())
[INFO] [stdout]    |                          ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 50 | impl_from!(DartValue::Array, Vec<DartValue>);
[INFO] [stdout]    | -------------------------------------------- in this macro invocation
[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: you can instead use the fully-qualified path `<Vec<value::DartValue> as Into<Vec<value::DartValue>>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `Vec<u8>`
[INFO] [stdout]   --> dart_ffi/src/value.rs:39:26
[INFO] [stdout]    |
[INFO] [stdout] 35 | macro_rules! impl_from {
[INFO] [stdout] ...
[INFO] [stdout] 39 |                 $variant(v.into())
[INFO] [stdout]    |                          ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 51 | impl_from!(DartValue::U8List, Vec<u8>);
[INFO] [stdout]    | -------------------------------------- in this macro invocation
[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: you can instead use the fully-qualified path `<Vec<u8> as Into<Vec<u8>>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `Vec<i8>`
[INFO] [stdout]   --> dart_ffi/src/value.rs:39:26
[INFO] [stdout]    |
[INFO] [stdout] 35 | macro_rules! impl_from {
[INFO] [stdout] ...
[INFO] [stdout] 39 |                 $variant(v.into())
[INFO] [stdout]    |                          ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 52 | impl_from!(DartValue::I8List, Vec<i8>);
[INFO] [stdout]    | -------------------------------------- in this macro invocation
[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: you can instead use the fully-qualified path `<Vec<i8> as Into<Vec<i8>>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `Vec<u16>`
[INFO] [stdout]   --> dart_ffi/src/value.rs:39:26
[INFO] [stdout]    |
[INFO] [stdout] 35 | macro_rules! impl_from {
[INFO] [stdout] ...
[INFO] [stdout] 39 |                 $variant(v.into())
[INFO] [stdout]    |                          ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 53 | impl_from!(DartValue::U16List, Vec<u16>);
[INFO] [stdout]    | ---------------------------------------- in this macro invocation
[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: you can instead use the fully-qualified path `<Vec<u16> as Into<Vec<u16>>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `Vec<i16>`
[INFO] [stdout]   --> dart_ffi/src/value.rs:39:26
[INFO] [stdout]    |
[INFO] [stdout] 35 | macro_rules! impl_from {
[INFO] [stdout] ...
[INFO] [stdout] 39 |                 $variant(v.into())
[INFO] [stdout]    |                          ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 54 | impl_from!(DartValue::I16List, Vec<i16>);
[INFO] [stdout]    | ---------------------------------------- in this macro invocation
[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: you can instead use the fully-qualified path `<Vec<i16> as Into<Vec<i16>>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `Vec<u32>`
[INFO] [stdout]   --> dart_ffi/src/value.rs:39:26
[INFO] [stdout]    |
[INFO] [stdout] 35 | macro_rules! impl_from {
[INFO] [stdout] ...
[INFO] [stdout] 39 |                 $variant(v.into())
[INFO] [stdout]    |                          ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 55 | impl_from!(DartValue::U32List, Vec<u32>);
[INFO] [stdout]    | ---------------------------------------- in this macro invocation
[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: you can instead use the fully-qualified path `<Vec<u32> as Into<Vec<u32>>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `Vec<i32>`
[INFO] [stdout]   --> dart_ffi/src/value.rs:39:26
[INFO] [stdout]    |
[INFO] [stdout] 35 | macro_rules! impl_from {
[INFO] [stdout] ...
[INFO] [stdout] 39 |                 $variant(v.into())
[INFO] [stdout]    |                          ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 56 | impl_from!(DartValue::I32List, Vec<i32>);
[INFO] [stdout]    | ---------------------------------------- in this macro invocation
[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: you can instead use the fully-qualified path `<Vec<i32> as Into<Vec<i32>>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `Vec<i64>`
[INFO] [stdout]   --> dart_ffi/src/value.rs:39:26
[INFO] [stdout]    |
[INFO] [stdout] 35 | macro_rules! impl_from {
[INFO] [stdout] ...
[INFO] [stdout] 39 |                 $variant(v.into())
[INFO] [stdout]    |                          ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 57 | impl_from!(DartValue::I64List, Vec<i64>);
[INFO] [stdout]    | ---------------------------------------- in this macro invocation
[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: you can instead use the fully-qualified path `<Vec<i64> as Into<Vec<i64>>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `Vec<f32>`
[INFO] [stdout]   --> dart_ffi/src/value.rs:39:26
[INFO] [stdout]    |
[INFO] [stdout] 35 | macro_rules! impl_from {
[INFO] [stdout] ...
[INFO] [stdout] 39 |                 $variant(v.into())
[INFO] [stdout]    |                          ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 58 | impl_from!(DartValue::F32List, Vec<f32>);
[INFO] [stdout]    | ---------------------------------------- in this macro invocation
[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: you can instead use the fully-qualified path `<Vec<f32> as Into<Vec<f32>>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `Vec<f64>`
[INFO] [stdout]   --> dart_ffi/src/value.rs:39:26
[INFO] [stdout]    |
[INFO] [stdout] 35 | macro_rules! impl_from {
[INFO] [stdout] ...
[INFO] [stdout] 39 |                 $variant(v.into())
[INFO] [stdout]    |                          ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 59 | impl_from!(DartValue::F64List, Vec<f64>);
[INFO] [stdout]    | ---------------------------------------- in this macro invocation
[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: you can instead use the fully-qualified path `<Vec<f64> as Into<Vec<f64>>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `DartCObjectSendPort`
[INFO] [stdout]   --> dart_ffi/src/value.rs:39:26
[INFO] [stdout]    |
[INFO] [stdout] 35 | macro_rules! impl_from {
[INFO] [stdout] ...
[INFO] [stdout] 39 |                 $variant(v.into())
[INFO] [stdout]    |                          ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 60 | impl_from!(DartValue::SendPort, raw::DartCObjectSendPort);
[INFO] [stdout]    | --------------------------------------------------------- in this macro invocation
[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: you can instead use the fully-qualified path `<DartCObjectSendPort as Into<DartCObjectSendPort>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `DartCObjectCapability`
[INFO] [stdout]   --> dart_ffi/src/value.rs:39:26
[INFO] [stdout]    |
[INFO] [stdout] 35 | macro_rules! impl_from {
[INFO] [stdout] ...
[INFO] [stdout] 39 |                 $variant(v.into())
[INFO] [stdout]    |                          ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 61 | impl_from!(DartValue::Capability, raw::DartCObjectCapability);
[INFO] [stdout]    | ------------------------------------------------------------- in this macro invocation
[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: you can instead use the fully-qualified path `<DartCObjectCapability as Into<DartCObjectCapability>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `DartCObjectNativePointer`
[INFO] [stdout]   --> dart_ffi/src/value.rs:39:26
[INFO] [stdout]    |
[INFO] [stdout] 35 | macro_rules! impl_from {
[INFO] [stdout] ...
[INFO] [stdout] 39 |                 $variant(v.into())
[INFO] [stdout]    |                          ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 62 | impl_from!(DartValue::NativePointer, raw::DartCObjectNativePointer);
[INFO] [stdout]    | ------------------------------------------------------------------- in this macro invocation
[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: you can instead use the fully-qualified path `<DartCObjectNativePointer as Into<DartCObjectNativePointer>::into(val) to avoid triggering this lint
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]   --> dart_ffi/src/functions.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | #[derive(Clone, Debug, PartialEq, Eq)]
[INFO] [stdout]    |                        --------- in this derive macro expansion
[INFO] [stdout] 21 | pub struct DartFunctions {
[INFO] [stdout] 22 |     pub post_cobject: unsafe extern "C" fn(DartPort, *mut DartCObject) -> bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: the address of the same function can vary between different codegen units
[INFO] [stdout]    = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]    = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout]    = note: `#[warn(unpredictable_function_pointer_comparisons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]   --> dart_ffi/src/functions.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | #[derive(Clone, Debug, PartialEq, Eq)]
[INFO] [stdout]    |                        --------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 23 |     pub post_integer: unsafe extern "C" fn(DartPort, i64) -> bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: the address of the same function can vary between different codegen units
[INFO] [stdout]    = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]    = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]   --> dart_ffi/src/functions.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | #[derive(Clone, Debug, PartialEq, Eq)]
[INFO] [stdout]    |                        --------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 24 |     pub new_native_port: unsafe extern "C" fn(*const c_char, DartPortHandler, bool) -> DartPort,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: the address of the same function can vary between different codegen units
[INFO] [stdout]    = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]    = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]   --> dart_ffi/src/functions.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | #[derive(Clone, Debug, PartialEq, Eq)]
[INFO] [stdout]    |                        --------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub close_native_port: unsafe extern "C" fn(DartPort) -> bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: the address of the same function can vary between different codegen units
[INFO] [stdout]    = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]    = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]   --> dart_ffi/src/functions.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 20 |   #[derive(Clone, Debug, PartialEq, Eq)]
[INFO] [stdout]    |                          --------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 27 | /     pub new_weak_persistent_handle: unsafe extern "C" fn(
[INFO] [stdout] 28 | |         object: DartHandle,
[INFO] [stdout] 29 | |         peer: *mut c_void,
[INFO] [stdout] 30 | |         external_allocation_size: isize,
[INFO] [stdout] 31 | |         finalizer: DartHandleFinalizer,
[INFO] [stdout] 32 | |     ) -> DartWeakPersistentHandle,
[INFO] [stdout]    | |_________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: the address of the same function can vary between different codegen units
[INFO] [stdout]    = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]    = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]   --> dart_ffi/src/functions.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | #[derive(Clone, Debug, PartialEq, Eq)]
[INFO] [stdout]    |                        --------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 33 |     pub delete_weak_persistent_handle: unsafe extern "C" fn(handle: DartWeakPersistentHandle),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: the address of the same function can vary between different codegen units
[INFO] [stdout]    = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]    = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]   --> dart_ffi/src/functions.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 20 |   #[derive(Clone, Debug, PartialEq, Eq)]
[INFO] [stdout]    |                          --------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 34 | /     pub handle_from_weak_persistent:
[INFO] [stdout] 35 | |         unsafe extern "C" fn(handle: DartWeakPersistentHandle) -> DartHandle,
[INFO] [stdout]    | |____________________________________________________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: the address of the same function can vary between different codegen units
[INFO] [stdout]    = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]    = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]    --> dart_ffi/src/value.rs:261:9
[INFO] [stdout]     |
[INFO] [stdout] 255 |     #[derive(Debug, Copy, Clone, PartialEq, Eq)]
[INFO] [stdout]     |                                  --------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 261 |         pub callback: DartHandleFinalizer,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the address of the same function can vary between different codegen units
[INFO] [stdout]     = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]     = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]    --> dart_ffi/src/value.rs:271:9
[INFO] [stdout]     |
[INFO] [stdout] 267 |     #[derive(Debug, Copy, Clone, PartialEq, Eq)]
[INFO] [stdout]     |                                  --------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 271 |         pub callback: DartHandleFinalizer,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the address of the same function can vary between different codegen units
[INFO] [stdout]     = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]     = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `irondash_dart_ffi` (lib) due to 18 previous errors; 9 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] running `Command { std: "docker" "inspect" "02d603d1adb7fafa141180ee85587e33f135b4c36a393c2698b9d66e64d2d5cf", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "02d603d1adb7fafa141180ee85587e33f135b4c36a393c2698b9d66e64d2d5cf", kill_on_drop: false }`
[INFO] [stdout] 02d603d1adb7fafa141180ee85587e33f135b4c36a393c2698b9d66e64d2d5cf
