[INFO] cloning repository https://github.com/simmsb/funny-traceroute
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/simmsb/funny-traceroute" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsimmsb%2Ffunny-traceroute", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsimmsb%2Ffunny-traceroute'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] bdb8ba9f5a9a05893c00987d03c4f833fbd1ae5b
[INFO] checking simmsb/funny-traceroute/bdb8ba9f5a9a05893c00987d03c4f833fbd1ae5b against master#01706e1a34c87656fcbfce198608f4cd2ac6461a for pr-135272
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsimmsb%2Ffunny-traceroute" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/simmsb/funny-traceroute on toolchain 01706e1a34c87656fcbfce198608f4cd2ac6461a
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+01706e1a34c87656fcbfce198608f4cd2ac6461a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] removed /workspace/builds/worker-5-tc1/source/.cargo/config.toml
[INFO] started tweaking git repo https://github.com/simmsb/funny-traceroute
[INFO] finished tweaking git repo https://github.com/simmsb/funny-traceroute
[INFO] tweaked toml for git repo https://github.com/simmsb/funny-traceroute written to /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+01706e1a34c87656fcbfce198608f4cd2ac6461a" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Updating git repository `https://github.com/aya-rs/aya`
[INFO] [stderr]     Updating git submodule `https://github.com/libbpf/libbpf`
[INFO] [stderr]     Updating git repository `https://github.com/simmsb/jnet.git`
[INFO] [stderr]     Updating git repository `https://github.com/japaric/owning-slice`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]      Locking 115 packages to latest compatible versions
[INFO] [stderr]       Adding serde_yaml v0.8.26 (available: v0.9.34+deprecated)
[INFO] [stderr]       Adding simplelog v0.10.2 (available: v0.12.2)
[INFO] [stderr]       Adding termcolor v1.1.3 (available: v1.4.1)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+01706e1a34c87656fcbfce198608f4cd2ac6461a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded simplelog v0.10.2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/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:819108c5571ea2e421544af4d832f968d213c87fbe3707a016657f43d2f853bc" "/opt/rustwide/cargo-home/bin/cargo" "+01706e1a34c87656fcbfce198608f4cd2ac6461a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 168ba955b180fbe2c6577f35add434b636896f509185a4322aeb9861e27db70c
[INFO] running `Command { std: "docker" "start" "-a" "168ba955b180fbe2c6577f35add434b636896f509185a4322aeb9861e27db70c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "168ba955b180fbe2c6577f35add434b636896f509185a4322aeb9861e27db70c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "168ba955b180fbe2c6577f35add434b636896f509185a4322aeb9861e27db70c", kill_on_drop: false }`
[INFO] [stdout] 168ba955b180fbe2c6577f35add434b636896f509185a4322aeb9861e27db70c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/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:819108c5571ea2e421544af4d832f968d213c87fbe3707a016657f43d2f853bc" "/opt/rustwide/cargo-home/bin/cargo" "+01706e1a34c87656fcbfce198608f4cd2ac6461a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 9823de1aa6d881fdbf3f858ebac1111aab0e35ef48171ca7f07d03e06232726d
[INFO] running `Command { std: "docker" "start" "-a" "9823de1aa6d881fdbf3f858ebac1111aab0e35ef48171ca7f07d03e06232726d", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.93
[INFO] [stderr]    Compiling unicode-ident v1.0.14
[INFO] [stderr]    Compiling version_check v0.9.5
[INFO] [stderr]    Compiling libc v0.2.169
[INFO] [stderr]    Compiling autocfg v1.4.0
[INFO] [stderr]     Checking foldhash v0.1.4
[INFO] [stderr]     Checking allocator-api2 v0.2.21
[INFO] [stderr]    Compiling semver v1.0.24
[INFO] [stderr]    Compiling object v0.36.7
[INFO] [stderr]    Compiling thiserror v2.0.11
[INFO] [stderr]     Checking log v0.4.25
[INFO] [stderr]     Checking bitflags v2.8.0
[INFO] [stderr]     Checking crc32fast v1.4.2
[INFO] [stderr]     Checking unicode-width v0.1.14
[INFO] [stderr]     Checking memchr v2.7.4
[INFO] [stderr]    Compiling unicode-segmentation v1.12.0
[INFO] [stderr]     Checking bytes v1.9.0
[INFO] [stderr]     Checking pin-project-lite v0.2.16
[INFO] [stderr]    Compiling cfg_aliases v0.2.1
[INFO] [stderr]     Checking ansi_term v0.12.1
[INFO] [stderr]    Compiling anyhow v1.0.95
[INFO] [stderr]    Compiling nix v0.29.0
[INFO] [stderr]     Checking textwrap v0.11.0
[INFO] [stderr]     Checking generic-array v0.12.4
[INFO] [stderr]     Checking generic-array v0.13.3
[INFO] [stderr]     Checking lazy_static v1.5.0
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.4
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]     Checking assert_matches v1.5.0
[INFO] [stderr]     Checking once_cell v1.20.2
[INFO] [stderr]    Compiling serde v1.0.217
[INFO] [stderr]     Checking stable_deref_trait v1.2.0
[INFO] [stderr]     Checking iana-time-zone v0.1.61
[INFO] [stderr]     Checking linked-hash-map v0.5.6
[INFO] [stderr]     Checking byteorder v1.5.0
[INFO] [stderr]     Checking ryu v1.0.18
[INFO] [stderr]    Compiling rustc_version v0.4.1
[INFO] [stderr]     Checking termcolor v1.1.3
[INFO] [stderr]     Checking hashbrown v0.15.2
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling indexmap v1.9.3
[INFO] [stderr]     Checking yaml-rust v0.4.5
[INFO] [stderr]    Compiling heck v0.3.3
[INFO] [stderr]     Checking hash32 v0.1.1
[INFO] [stderr]     Checking as-slice v0.1.5
[INFO] [stderr]    Compiling cast v0.2.7
[INFO] [stderr]    Compiling quote v1.0.38
[INFO] [stderr]     Checking owning-slice v0.1.0 (https://github.com/japaric/owning-slice#f8c70ead)
[INFO] [stderr]    Compiling syn v2.0.96
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]     Checking chrono v0.4.39
[INFO] [stderr]     Checking indexmap v2.7.0
[INFO] [stderr]     Checking simplelog v0.10.2
[INFO] [stderr]     Checking socket2 v0.5.8
[INFO] [stderr]     Checking signal-hook-registry v1.4.2
[INFO] [stderr]     Checking mio v1.0.3
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]     Checking clap v2.34.0
[INFO] [stderr]     Checking tokio v1.43.0
[INFO] [stderr]    Compiling thiserror-impl v2.0.11
[INFO] [stderr]    Compiling serde_derive v1.0.217
[INFO] [stderr]     Checking ctrlc v3.4.5
[INFO] [stderr]    Compiling structopt-derive v0.4.18
[INFO] [stderr]    Compiling hash32-derive v0.1.1
[INFO] [stderr]     Checking jnet v0.1.0 (https://github.com/simmsb/jnet.git?rev=2b5c94b0588bcdaf70eb058b6bd8641433250c8a#2b5c94b0)
[INFO] [stderr]     Checking structopt v0.3.26
[INFO] [stderr]     Checking xtask v0.1.0 (/opt/rustwide/workdir/xtask)
[INFO] [stderr]     Checking aya-obj v0.2.1 (https://github.com/aya-rs/aya?branch=main#29b82137)
[INFO] [stderr]     Checking aya v0.13.1 (https://github.com/aya-rs/aya?branch=main#29b82137)
[INFO] [stderr]     Checking serde_yaml v0.8.26
[INFO] [stderr]     Checking funny-traceroute-aya-common v0.1.0 (/opt/rustwide/workdir/funny-traceroute-aya-common)
[INFO] [stderr]     Checking funny-traceroute-aya v0.1.0 (/opt/rustwide/workdir/funny-traceroute-aya)
[INFO] [stdout] error[E0433]: failed to resolve: could not find `main` in `tokio`
[INFO] [stdout]   --> funny-traceroute-aya/src/main.rs:64:10
[INFO] [stdout]    |
[INFO] [stdout] 64 | #[tokio::main]
[INFO] [stdout]    |          ^^^^ could not find `main` in `tokio`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `main` in `tokio`
[INFO] [stdout]   --> funny-traceroute-aya/src/main.rs:64:10
[INFO] [stdout]    |
[INFO] [stdout] 64 | #[tokio::main]
[INFO] [stdout]    |          ^^^^ could not find `main` in `tokio`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated type alias `aya::Bpf`: use `Ebpf` instead
[INFO] [stdout]  --> funny-traceroute-aya/src/main.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 |     Bpf,
[INFO] [stdout]   |     ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated type alias `aya::Bpf`: use `Ebpf` instead
[INFO] [stdout]   --> funny-traceroute-aya/src/main.rs:73:19
[INFO] [stdout]    |
[INFO] [stdout] 73 |     let mut bpf = Bpf::load_file(&opt.path)?;
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated type alias `aya::Bpf`: use `Ebpf` instead
[INFO] [stdout]  --> funny-traceroute-aya/src/main.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 |     Bpf,
[INFO] [stdout]   |     ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated type alias `aya::Bpf`: use `Ebpf` instead
[INFO] [stdout]   --> funny-traceroute-aya/src/main.rs:73:19
[INFO] [stdout]    |
[INFO] [stdout] 73 |     let mut bpf = Bpf::load_file(&opt.path)?;
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in an async function that returns `Result`
[INFO] [stdout]    --> funny-traceroute-aya/src/main.rs:89:93
[INFO] [stdout]     |
[INFO] [stdout] 65  |   pub async fn main() -> Result<(), anyhow::Error> {
[INFO] [stdout]     |  __________________________________________________-
[INFO] [stdout] 66  | |     let opt = Opt::from_args();
[INFO] [stdout] 67  | |
[INFO] [stdout] 68  | |     let cfg = std::fs::File::open(&opt.cfg)?;
[INFO] [stdout] ...   |
[INFO] [stdout] 89  | |     let mut dest_addrs: HashMap<_, MyAddr, u8> = HashMap::try_from(bpf.map_mut("DEST_ADDRS")?)?;
[INFO] [stdout]     | |                                                                                             ^ use `.ok_or(...)?` to provide an error compatible with `Result<(), anyhow::Error>`
[INFO] [stdout] ...   |
[INFO] [stdout] 103 | |     Ok(())
[INFO] [stdout] 104 | | }
[INFO] [stdout]     | |_- this function returns a `Result`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `FromResidual<std::option::Option<Infallible>>` is not implemented for `Result<(), anyhow::Error>`
[INFO] [stdout]     = help: the trait `FromResidual<Result<Infallible, E>>` is implemented for `Result<T, F>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in an async function that returns `Result`
[INFO] [stdout]    --> funny-traceroute-aya/src/main.rs:90:96
[INFO] [stdout]     |
[INFO] [stdout] 65  |   pub async fn main() -> Result<(), anyhow::Error> {
[INFO] [stdout]     |  __________________________________________________-
[INFO] [stdout] 66  | |     let opt = Opt::from_args();
[INFO] [stdout] 67  | |
[INFO] [stdout] 68  | |     let cfg = std::fs::File::open(&opt.cfg)?;
[INFO] [stdout] ...   |
[INFO] [stdout] 90  | |     let mut replies: HashMap<_, ResponseKey, MyAddr> = HashMap::try_from(bpf.map_mut("REPLIES")?)?;
[INFO] [stdout]     | |                                                                                                ^ use `.ok_or(...)?` to provide an error compatible with `Result<(), anyhow::Error>`
[INFO] [stdout] ...   |
[INFO] [stdout] 103 | |     Ok(())
[INFO] [stdout] 104 | | }
[INFO] [stdout]     | |_- this function returns a `Result`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `FromResidual<std::option::Option<Infallible>>` is not implemented for `Result<(), anyhow::Error>`
[INFO] [stdout]     = help: the trait `FromResidual<Result<Infallible, E>>` is implemented for `Result<T, F>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0271]: type mismatch resolving `<&mut MapData as Deref>::Target == Map`
[INFO] [stdout]   --> funny-traceroute-aya/src/main.rs:92:20
[INFO] [stdout]    |
[INFO] [stdout] 92 |     insert_replies(&mut dest_addrs, &mut replies, &cfg);
[INFO] [stdout]    |     -------------- ^^^^^^^^^^^^^^^ expected `Map`, found `MapData`
[INFO] [stdout]    |     |
[INFO] [stdout]    |     required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `insert_replies`
[INFO] [stdout]   --> funny-traceroute-aya/src/main.rs:39:32
[INFO] [stdout]    |
[INFO] [stdout] 39 | fn insert_replies<Td: DerefMut<Target = Map>, Tr: DerefMut<Target = Map>>(
[INFO] [stdout]    |                                ^^^^^^^^^^^^ required by this bound in `insert_replies`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0271]: type mismatch resolving `<&mut MapData as Deref>::Target == Map`
[INFO] [stdout]   --> funny-traceroute-aya/src/main.rs:92:37
[INFO] [stdout]    |
[INFO] [stdout] 92 |     insert_replies(&mut dest_addrs, &mut replies, &cfg);
[INFO] [stdout]    |     --------------                  ^^^^^^^^^^^^ expected `Map`, found `MapData`
[INFO] [stdout]    |     |
[INFO] [stdout]    |     required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `insert_replies`
[INFO] [stdout]   --> funny-traceroute-aya/src/main.rs:39:60
[INFO] [stdout]    |
[INFO] [stdout] 39 | fn insert_replies<Td: DerefMut<Target = Map>, Tr: DerefMut<Target = Map>>(
[INFO] [stdout]    |                                                            ^^^^^^^^^^^^ required by this bound in `insert_replies`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in an async function that returns `Result`
[INFO] [stdout]    --> funny-traceroute-aya/src/main.rs:94:68
[INFO] [stdout]     |
[INFO] [stdout] 65  |   pub async fn main() -> Result<(), anyhow::Error> {
[INFO] [stdout]     |  __________________________________________________-
[INFO] [stdout] 66  | |     let opt = Opt::from_args();
[INFO] [stdout] 67  | |
[INFO] [stdout] 68  | |     let cfg = std::fs::File::open(&opt.cfg)?;
[INFO] [stdout] ...   |
[INFO] [stdout] 94  | |     let program: &mut Xdp = bpf.program_mut("funny_traceroute_aya")?.try_into()?;
[INFO] [stdout]     | |                                                                    ^ use `.ok_or(...)?` to provide an error compatible with `Result<(), anyhow::Error>`
[INFO] [stdout] ...   |
[INFO] [stdout] 103 | |     Ok(())
[INFO] [stdout] 104 | | }
[INFO] [stdout]     | |_- this function returns a `Result`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `FromResidual<std::option::Option<Infallible>>` is not implemented for `Result<(), anyhow::Error>`
[INFO] [stdout]     = help: the trait `FromResidual<Result<Infallible, E>>` is implemented for `Result<T, F>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]   --> funny-traceroute-aya/src/main.rs:65:1
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub async fn main() -> Result<(), anyhow::Error> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in an async function that returns `Result`
[INFO] [stdout]    --> funny-traceroute-aya/src/main.rs:89:93
[INFO] [stdout]     |
[INFO] [stdout] 65  |   pub async fn main() -> Result<(), anyhow::Error> {
[INFO] [stdout]     |  __________________________________________________-
[INFO] [stdout] 66  | |     let opt = Opt::from_args();
[INFO] [stdout] 67  | |
[INFO] [stdout] 68  | |     let cfg = std::fs::File::open(&opt.cfg)?;
[INFO] [stdout] ...   |
[INFO] [stdout] 89  | |     let mut dest_addrs: HashMap<_, MyAddr, u8> = HashMap::try_from(bpf.map_mut("DEST_ADDRS")?)?;
[INFO] [stdout]     | |                                                                                             ^ use `.ok_or(...)?` to provide an error compatible with `Result<(), anyhow::Error>`
[INFO] [stdout] ...   |
[INFO] [stdout] 103 | |     Ok(())
[INFO] [stdout] 104 | | }
[INFO] [stdout]     | |_- this function returns a `Result`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `FromResidual<std::option::Option<Infallible>>` is not implemented for `Result<(), anyhow::Error>`
[INFO] [stdout]     = help: the trait `FromResidual<Result<Infallible, E>>` is implemented for `Result<T, F>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in an async function that returns `Result`
[INFO] [stdout]    --> funny-traceroute-aya/src/main.rs:90:96
[INFO] [stdout]     |
[INFO] [stdout] 65  |   pub async fn main() -> Result<(), anyhow::Error> {
[INFO] [stdout]     |  __________________________________________________-
[INFO] [stdout] 66  | |     let opt = Opt::from_args();
[INFO] [stdout] 67  | |
[INFO] [stdout] 68  | |     let cfg = std::fs::File::open(&opt.cfg)?;
[INFO] [stdout] ...   |
[INFO] [stdout] 90  | |     let mut replies: HashMap<_, ResponseKey, MyAddr> = HashMap::try_from(bpf.map_mut("REPLIES")?)?;
[INFO] [stdout]     | |                                                                                                ^ use `.ok_or(...)?` to provide an error compatible with `Result<(), anyhow::Error>`
[INFO] [stdout] ...   |
[INFO] [stdout] 103 | |     Ok(())
[INFO] [stdout] 104 | | }
[INFO] [stdout]     | |_- this function returns a `Result`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `FromResidual<std::option::Option<Infallible>>` is not implemented for `Result<(), anyhow::Error>`
[INFO] [stdout]     = help: the trait `FromResidual<Result<Infallible, E>>` is implemented for `Result<T, F>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0271]: type mismatch resolving `<&mut MapData as Deref>::Target == Map`
[INFO] [stdout]   --> funny-traceroute-aya/src/main.rs:92:20
[INFO] [stdout]    |
[INFO] [stdout] 92 |     insert_replies(&mut dest_addrs, &mut replies, &cfg);
[INFO] [stdout]    |     -------------- ^^^^^^^^^^^^^^^ expected `Map`, found `MapData`
[INFO] [stdout]    |     |
[INFO] [stdout]    |     required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `insert_replies`
[INFO] [stdout]   --> funny-traceroute-aya/src/main.rs:39:32
[INFO] [stdout]    |
[INFO] [stdout] 39 | fn insert_replies<Td: DerefMut<Target = Map>, Tr: DerefMut<Target = Map>>(
[INFO] [stdout]    |                                ^^^^^^^^^^^^ required by this bound in `insert_replies`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0271]: type mismatch resolving `<&mut MapData as Deref>::Target == Map`
[INFO] [stdout]   --> funny-traceroute-aya/src/main.rs:92:37
[INFO] [stdout]    |
[INFO] [stdout] 92 |     insert_replies(&mut dest_addrs, &mut replies, &cfg);
[INFO] [stdout]    |     --------------                  ^^^^^^^^^^^^ expected `Map`, found `MapData`
[INFO] [stdout]    |     |
[INFO] [stdout]    |     required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `insert_replies`
[INFO] [stdout]   --> funny-traceroute-aya/src/main.rs:39:60
[INFO] [stdout]    |
[INFO] [stdout] 39 | fn insert_replies<Td: DerefMut<Target = Map>, Tr: DerefMut<Target = Map>>(
[INFO] [stdout]    |                                                            ^^^^^^^^^^^^ required by this bound in `insert_replies`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in an async function that returns `Result`
[INFO] [stdout]    --> funny-traceroute-aya/src/main.rs:94:68
[INFO] [stdout]     |
[INFO] [stdout] 65  |   pub async fn main() -> Result<(), anyhow::Error> {
[INFO] [stdout]     |  __________________________________________________-
[INFO] [stdout] 66  | |     let opt = Opt::from_args();
[INFO] [stdout] 67  | |
[INFO] [stdout] 68  | |     let cfg = std::fs::File::open(&opt.cfg)?;
[INFO] [stdout] ...   |
[INFO] [stdout] 94  | |     let program: &mut Xdp = bpf.program_mut("funny_traceroute_aya")?.try_into()?;
[INFO] [stdout]     | |                                                                    ^ use `.ok_or(...)?` to provide an error compatible with `Result<(), anyhow::Error>`
[INFO] [stdout] ...   |
[INFO] [stdout] 103 | |     Ok(())
[INFO] [stdout] 104 | | }
[INFO] [stdout]     | |_- this function returns a `Result`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `FromResidual<std::option::Option<Infallible>>` is not implemented for `Result<(), anyhow::Error>`
[INFO] [stdout]     = help: the trait `FromResidual<Result<Infallible, E>>` is implemented for `Result<T, F>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `insert` exists for mutable reference `&mut HashMap<Td, MyAddr, u8>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> funny-traceroute-aya/src/main.rs:46:14
[INFO] [stdout]    |
[INFO] [stdout] 45 | /         dest_addrs
[INFO] [stdout] 46 | |             .insert(MyAddr(entry.dst.octets()), idx.try_into().unwrap(), 0)
[INFO] [stdout]    | |             -^^^^^^ method cannot be called on `&mut HashMap<Td, MyAddr, u8>` due to unsatisfied trait bounds
[INFO] [stdout]    | |_____________|
[INFO] [stdout]    |
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `Td: BorrowMut<MapData>`
[INFO] [stdout] help: consider restricting the type parameter to satisfy the trait bound
[INFO] [stdout]    |
[INFO] [stdout] 43 | ) where Td: BorrowMut<MapData> {
[INFO] [stdout]    |   ++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `insert` exists for mutable reference `&mut HashMap<Tr, ResponseKey, MyAddr>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> funny-traceroute-aya/src/main.rs:51:18
[INFO] [stdout]    |
[INFO] [stdout] 50 | /             replies
[INFO] [stdout] 51 | |                 .insert(
[INFO] [stdout]    | |                 -^^^^^^ method cannot be called on `&mut HashMap<Tr, ResponseKey, MyAddr>` due to unsatisfied trait bounds
[INFO] [stdout]    | |_________________|
[INFO] [stdout]    |
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `Tr: BorrowMut<MapData>`
[INFO] [stdout] help: consider restricting the type parameter to satisfy the trait bound
[INFO] [stdout]    |
[INFO] [stdout] 43 | ) where Tr: BorrowMut<MapData> {
[INFO] [stdout]    |   ++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `insert` exists for mutable reference `&mut HashMap<Td, MyAddr, u8>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> funny-traceroute-aya/src/main.rs:46:14
[INFO] [stdout]    |
[INFO] [stdout] 45 | /         dest_addrs
[INFO] [stdout] 46 | |             .insert(MyAddr(entry.dst.octets()), idx.try_into().unwrap(), 0)
[INFO] [stdout]    | |             -^^^^^^ method cannot be called on `&mut HashMap<Td, MyAddr, u8>` due to unsatisfied trait bounds
[INFO] [stdout]    | |_____________|
[INFO] [stdout]    |
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `Td: BorrowMut<MapData>`
[INFO] [stdout] help: consider restricting the type parameter to satisfy the trait bound
[INFO] [stdout]    |
[INFO] [stdout] 43 | ) where Td: BorrowMut<MapData> {
[INFO] [stdout]    |   ++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0271, E0277, E0433, E0599, E0752.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0271`.
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `insert` exists for mutable reference `&mut HashMap<Tr, ResponseKey, MyAddr>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> funny-traceroute-aya/src/main.rs:51:18
[INFO] [stdout]    |
[INFO] [stdout] 50 | /             replies
[INFO] [stdout] 51 | |                 .insert(
[INFO] [stdout]    | |                 -^^^^^^ method cannot be called on `&mut HashMap<Tr, ResponseKey, MyAddr>` due to unsatisfied trait bounds
[INFO] [stdout]    | |_________________|
[INFO] [stdout]    |
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `Tr: BorrowMut<MapData>`
[INFO] [stdout] help: consider restricting the type parameter to satisfy the trait bound
[INFO] [stdout]    |
[INFO] [stdout] 43 | ) where Tr: BorrowMut<MapData> {
[INFO] [stdout]    |   ++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `funny-traceroute-aya` (bin "funny-traceroute-aya") due to 9 previous errors; 2 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] Some errors have detailed explanations: E0271, E0277, E0433, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0271`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `funny-traceroute-aya` (bin "funny-traceroute-aya" test) due to 8 previous errors; 2 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "9823de1aa6d881fdbf3f858ebac1111aab0e35ef48171ca7f07d03e06232726d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9823de1aa6d881fdbf3f858ebac1111aab0e35ef48171ca7f07d03e06232726d", kill_on_drop: false }`
[INFO] [stdout] 9823de1aa6d881fdbf3f858ebac1111aab0e35ef48171ca7f07d03e06232726d
