[INFO] cloning repository https://github.com/remolueoend/dotfiles
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/remolueoend/dotfiles" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fremolueoend%2Fdotfiles", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fremolueoend%2Fdotfiles'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 668666c1491f0213b66597974df1b02d1abae44c
[INFO] checking remolueoend/dotfiles against beta-2021-10-15 for beta-1.56-3
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fremolueoend%2Fdotfiles" "/workspace/builds/worker-12/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-12/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/remolueoend/dotfiles on toolchain beta-2021-10-15
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2021-10-15" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/remolueoend/dotfiles
[INFO] finished tweaking git repo https://github.com/remolueoend/dotfiles
[INFO] tweaked toml for git repo https://github.com/remolueoend/dotfiles written to /workspace/builds/worker-12/source/Cargo.toml
[INFO] crate git repo https://github.com/remolueoend/dotfiles already has a lockfile, it will not be regenerated
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2021-10-15" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded dirs-sys-next v0.1.1
[INFO] [stderr]   Downloaded dirs-next v1.0.2
[INFO] [stderr]   Downloaded petgraph v0.6.0
[INFO] [stderr]   Downloaded rustyline v6.3.0
[INFO] [stderr]   Downloaded promptly v0.3.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-12/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-12/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:a89201d6b5b9fd45c15d5952ece0a0129e7e80cb26ec023fd59cf09bc26f1604" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2021-10-15" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] f1bb581d10196d3975d7b5d7514a89702360fd5786c05c056f038e867c3a17b4
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "f1bb581d10196d3975d7b5d7514a89702360fd5786c05c056f038e867c3a17b4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "f1bb581d10196d3975d7b5d7514a89702360fd5786c05c056f038e867c3a17b4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f1bb581d10196d3975d7b5d7514a89702360fd5786c05c056f038e867c3a17b4", kill_on_drop: false }`
[INFO] [stdout] f1bb581d10196d3975d7b5d7514a89702360fd5786c05c056f038e867c3a17b4
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-12/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-12/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=warn" "-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:a89201d6b5b9fd45c15d5952ece0a0129e7e80cb26ec023fd59cf09bc26f1604" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2021-10-15" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] [stdout] 96e06c0a3c4bf4610132217f603b4d04e626398804957d72499407609a0b10d4
[INFO] running `Command { std: "docker" "start" "-a" "96e06c0a3c4bf4610132217f603b4d04e626398804957d72499407609a0b10d4", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v1.0.58
[INFO] [stderr]     Checking dirs-sys-next v0.1.1
[INFO] [stderr]     Checking nix v0.18.0
[INFO] [stderr]     Checking term_size v0.3.2
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]     Checking dirs-sys v0.3.5
[INFO] [stderr]     Checking colored v2.0.0
[INFO] [stderr]     Checking textwrap v0.11.0
[INFO] [stderr]     Checking dirs-next v1.0.2
[INFO] [stderr]     Checking dirs v3.0.1
[INFO] [stderr]     Checking clap v2.33.3
[INFO] [stderr]     Checking rustyline v6.3.0
[INFO] [stderr]    Compiling serde_derive v1.0.118
[INFO] [stderr]     Checking promptly v0.3.0
[INFO] [stderr]     Checking serde v1.0.118
[INFO] [stderr]     Checking toml v0.5.8
[INFO] [stderr]     Checking dotfiles v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/commands/add.rs:182:33
[INFO] [stdout]     |
[INFO] [stdout] 182 |     if config.mappings.contains(&mappings_path) {
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^ expected struct `Mapping`, found struct `PathBuf`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected reference `&Mapping`
[INFO] [stdout]                found reference `&PathBuf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: can't compare `Mapping` with `Mapping`
[INFO] [stdout]    --> src/commands/add.rs:182:33
[INFO] [stdout]     |
[INFO] [stdout] 182 |     if config.mappings.contains(&mappings_path) {
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^ no implementation for `Mapping == Mapping`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `PartialEq` is not implemented for `Mapping`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `starts_with` found for reference `&Mapping` in the current scope
[INFO] [stdout]    --> src/commands/add.rs:187:24
[INFO] [stdout]     |
[INFO] [stdout] 187 |             if mapping.starts_with(&mappings_path) {
[INFO] [stdout]     |                        ^^^^^^^^^^^ method not found in `&Mapping`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `starts_with`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `clap::osstringext::OsStrExt2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/commands/add.rs:190:21
[INFO] [stdout]     |
[INFO] [stdout] 190 |                     mapping.to_owned(),
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^ expected struct `PathBuf`, found `&Mapping`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Mapping: AsRef<std::path::Path>` is not satisfied
[INFO] [stdout]    --> src/commands/add.rs:192:49
[INFO] [stdout]     |
[INFO] [stdout] 192 |             } else if mappings_path.starts_with(&mapping) {
[INFO] [stdout]     |                                                 ^^^^^^^^ the trait `AsRef<std::path::Path>` is not implemented for `Mapping`
[INFO] [stdout]     |
[INFO] [stdout]     = note: required because of the requirements on the impl of `AsRef<std::path::Path>` for `&Mapping`
[INFO] [stdout]     = note: 1 redundant requirements hidden
[INFO] [stdout]     = note: required because of the requirements on the impl of `AsRef<std::path::Path>` for `&&Mapping`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/commands/add.rs:195:21
[INFO] [stdout]     |
[INFO] [stdout] 195 |                     mapping.to_owned(),
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^ expected struct `PathBuf`, found `&Mapping`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/commands/status.rs:98:19
[INFO] [stdout]    |
[INFO] [stdout] 98 |             path: mapping,
[INFO] [stdout]    |                   ^^^^^^^ expected struct `PathBuf`, found struct `Mapping`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected reference `&PathBuf`
[INFO] [stdout]               found reference `&'a Mapping`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/commands/status.rs:132:30
[INFO] [stdout]     |
[INFO] [stdout] 132 |         if mappings.contains(&rel_path) {
[INFO] [stdout]     |                              ^^^^^^^^^ expected struct `Mapping`, found struct `PathBuf`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected reference `&Mapping`
[INFO] [stdout]                found reference `&PathBuf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: can't compare `Mapping` with `Mapping`
[INFO] [stdout]    --> src/commands/status.rs:132:30
[INFO] [stdout]     |
[INFO] [stdout] 132 |         if mappings.contains(&rel_path) {
[INFO] [stdout]     |                              ^^^^^^^^^ no implementation for `Mapping == Mapping`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `PartialEq` is not implemented for `Mapping`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `starts_with` found for reference `&Mapping` in the current scope
[INFO] [stdout]    --> src/commands/status.rs:136:50
[INFO] [stdout]     |
[INFO] [stdout] 136 |         } else if mappings.into_iter().any(|m| m.starts_with(&rel_path)) == false {
[INFO] [stdout]     |                                                  ^^^^^^^^^^^ method not found in `&Mapping`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `starts_with`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `clap::osstringext::OsStrExt2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/commands/status.rs:151:62
[INFO] [stdout]     |
[INFO] [stdout] 151 |         match dotfiles.binary_search_by(|(path, _)| path.cmp(mapping)) {
[INFO] [stdout]     |                                                              ^^^^^^^ expected struct `PathBuf`, found struct `Mapping`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected reference `&PathBuf`
[INFO] [stdout]                found reference `&Mapping`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/commands/add.rs:182:33
[INFO] [stdout]     |
[INFO] [stdout] 182 |     if config.mappings.contains(&mappings_path) {
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^ expected struct `Mapping`, found struct `PathBuf`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected reference `&Mapping`
[INFO] [stdout]                found reference `&PathBuf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/commands/status.rs:153:47
[INFO] [stdout]     |
[INFO] [stdout] 153 |             Err(pos) => dotfiles.insert(pos, (mapping.to_owned(), DotfilesEntryState::Invalid)),
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^^^^^ expected struct `PathBuf`, found `&Mapping`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: can't compare `Mapping` with `Mapping`
[INFO] [stdout]    --> src/commands/add.rs:182:33
[INFO] [stdout]     |
[INFO] [stdout] 182 |     if config.mappings.contains(&mappings_path) {
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^ no implementation for `Mapping == Mapping`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `PartialEq` is not implemented for `Mapping`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `starts_with` found for reference `&Mapping` in the current scope
[INFO] [stdout]    --> src/commands/add.rs:187:24
[INFO] [stdout]     |
[INFO] [stdout] 187 |             if mapping.starts_with(&mappings_path) {
[INFO] [stdout]     |                        ^^^^^^^^^^^ method not found in `&Mapping`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `starts_with`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `clap::osstringext::OsStrExt2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/commands/add.rs:190:21
[INFO] [stdout]     |
[INFO] [stdout] 190 |                     mapping.to_owned(),
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^ expected struct `PathBuf`, found `&Mapping`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/config.rs:29:8
[INFO] [stdout]    |
[INFO] [stdout] 29 |     Ok(output)
[INFO] [stdout]    |        ^^^^^^ expected struct `Mapping`, found struct `PathBuf`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Vec<Mapping>`
[INFO] [stdout]               found struct `Vec<PathBuf>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Mapping: AsRef<std::path::Path>` is not satisfied
[INFO] [stdout]    --> src/commands/add.rs:192:49
[INFO] [stdout]     |
[INFO] [stdout] 192 |             } else if mappings_path.starts_with(&mapping) {
[INFO] [stdout]     |                                                 ^^^^^^^^ the trait `AsRef<std::path::Path>` is not implemented for `Mapping`
[INFO] [stdout]     |
[INFO] [stdout]     = note: required because of the requirements on the impl of `AsRef<std::path::Path>` for `&Mapping`
[INFO] [stdout]     = note: 1 redundant requirements hidden
[INFO] [stdout]     = note: required because of the requirements on the impl of `AsRef<std::path::Path>` for `&&Mapping`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/commands/add.rs:195:21
[INFO] [stdout]     |
[INFO] [stdout] 195 |                     mapping.to_owned(),
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^ expected struct `PathBuf`, found `&Mapping`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/config.rs:86:28
[INFO] [stdout]    |
[INFO] [stdout] 86 |         self.mappings.push(mapping);
[INFO] [stdout]    |                            ^^^^^^^ expected struct `Mapping`, found struct `PathBuf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `is_absolute` found for reference `&Mapping` in the current scope
[INFO] [stdout]    --> src/config.rs:106:21
[INFO] [stdout]     |
[INFO] [stdout] 106 |             if link.is_absolute() {
[INFO] [stdout]     |                     ^^^^^^^^^^^ method not found in `&Mapping`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/config.rs:107:57
[INFO] [stdout]     |
[INFO] [stdout] 107 |                 return Err(AppError::ConfigAbsoluteLink(link.to_owned()));
[INFO] [stdout]     |                                                         ^^^^^^^^^^^^^^^ expected struct `PathBuf`, found `&Mapping`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Mapping: Clone` is not satisfied
[INFO] [stdout]    --> src/config.rs:120:42
[INFO] [stdout]     |
[INFO] [stdout] 120 |         let mut mappings = self.mappings.to_vec();
[INFO] [stdout]     |                                          ^^^^^^ the trait `Clone` is not implemented for `Mapping`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Mapping: Ord` is not satisfied
[INFO] [stdout]    --> src/config.rs:121:18
[INFO] [stdout]     |
[INFO] [stdout] 121 |         mappings.sort();
[INFO] [stdout]     |                  ^^^^ the trait `Ord` is not implemented for `Mapping`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/commands/status.rs:98:19
[INFO] [stdout]    |
[INFO] [stdout] 98 |             path: mapping,
[INFO] [stdout]    |                   ^^^^^^^ expected struct `PathBuf`, found struct `Mapping`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected reference `&PathBuf`
[INFO] [stdout]               found reference `&'a Mapping`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `starts_with` found for reference `&Mapping` in the current scope
[INFO] [stdout]    --> src/config.rs:125:21
[INFO] [stdout]     |
[INFO] [stdout] 125 |             if next.starts_with(current) {
[INFO] [stdout]     |                     ^^^^^^^^^^^ method not found in `&Mapping`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `starts_with`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `clap::osstringext::OsStrExt2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/config.rs:126:56
[INFO] [stdout]     |
[INFO] [stdout] 126 |                 return Err(AppError::ConfigNestedLinks(next.clone(), current.clone()));
[INFO] [stdout]     |                                                        ^^^^^^^^^^^^ expected struct `PathBuf`, found `&Mapping`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/commands/status.rs:132:30
[INFO] [stdout]     |
[INFO] [stdout] 132 |         if mappings.contains(&rel_path) {
[INFO] [stdout]     |                              ^^^^^^^^^ expected struct `Mapping`, found struct `PathBuf`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected reference `&Mapping`
[INFO] [stdout]                found reference `&PathBuf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: can't compare `Mapping` with `Mapping`
[INFO] [stdout]    --> src/commands/status.rs:132:30
[INFO] [stdout]     |
[INFO] [stdout] 132 |         if mappings.contains(&rel_path) {
[INFO] [stdout]     |                              ^^^^^^^^^ no implementation for `Mapping == Mapping`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `PartialEq` is not implemented for `Mapping`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `starts_with` found for reference `&Mapping` in the current scope
[INFO] [stdout]    --> src/commands/status.rs:136:50
[INFO] [stdout]     |
[INFO] [stdout] 136 |         } else if mappings.into_iter().any(|m| m.starts_with(&rel_path)) == false {
[INFO] [stdout]     |                                                  ^^^^^^^^^^^ method not found in `&Mapping`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `starts_with`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `clap::osstringext::OsStrExt2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/config.rs:126:70
[INFO] [stdout]     |
[INFO] [stdout] 126 |                 return Err(AppError::ConfigNestedLinks(next.clone(), current.clone()));
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^ expected struct `PathBuf`, found `&Mapping`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/commands/status.rs:151:62
[INFO] [stdout]     |
[INFO] [stdout] 151 |         match dotfiles.binary_search_by(|(path, _)| path.cmp(mapping)) {
[INFO] [stdout]     |                                                              ^^^^^^^ expected struct `PathBuf`, found struct `Mapping`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected reference `&PathBuf`
[INFO] [stdout]                found reference `&Mapping`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 21 previous errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0308, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `dotfiles` due to 22 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/commands/status.rs:153:47
[INFO] [stdout]     |
[INFO] [stdout] 153 |             Err(pos) => dotfiles.insert(pos, (mapping.to_owned(), DotfilesEntryState::Invalid)),
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^^^^^ expected struct `PathBuf`, found `&Mapping`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/config.rs:29:8
[INFO] [stdout]    |
[INFO] [stdout] 29 |     Ok(output)
[INFO] [stdout]    |        ^^^^^^ expected struct `Mapping`, found struct `PathBuf`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Vec<Mapping>`
[INFO] [stdout]               found struct `Vec<PathBuf>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/config.rs:86:28
[INFO] [stdout]    |
[INFO] [stdout] 86 |         self.mappings.push(mapping);
[INFO] [stdout]    |                            ^^^^^^^ expected struct `Mapping`, found struct `PathBuf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `is_absolute` found for reference `&Mapping` in the current scope
[INFO] [stdout]    --> src/config.rs:106:21
[INFO] [stdout]     |
[INFO] [stdout] 106 |             if link.is_absolute() {
[INFO] [stdout]     |                     ^^^^^^^^^^^ method not found in `&Mapping`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/config.rs:107:57
[INFO] [stdout]     |
[INFO] [stdout] 107 |                 return Err(AppError::ConfigAbsoluteLink(link.to_owned()));
[INFO] [stdout]     |                                                         ^^^^^^^^^^^^^^^ expected struct `PathBuf`, found `&Mapping`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Mapping: Clone` is not satisfied
[INFO] [stdout]    --> src/config.rs:120:42
[INFO] [stdout]     |
[INFO] [stdout] 120 |         let mut mappings = self.mappings.to_vec();
[INFO] [stdout]     |                                          ^^^^^^ the trait `Clone` is not implemented for `Mapping`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Mapping: Ord` is not satisfied
[INFO] [stdout]    --> src/config.rs:121:18
[INFO] [stdout]     |
[INFO] [stdout] 121 |         mappings.sort();
[INFO] [stdout]     |                  ^^^^ the trait `Ord` is not implemented for `Mapping`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `starts_with` found for reference `&Mapping` in the current scope
[INFO] [stdout]    --> src/config.rs:125:21
[INFO] [stdout]     |
[INFO] [stdout] 125 |             if next.starts_with(current) {
[INFO] [stdout]     |                     ^^^^^^^^^^^ method not found in `&Mapping`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `starts_with`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `clap::osstringext::OsStrExt2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/config.rs:126:56
[INFO] [stdout]     |
[INFO] [stdout] 126 |                 return Err(AppError::ConfigNestedLinks(next.clone(), current.clone()));
[INFO] [stdout]     |                                                        ^^^^^^^^^^^^ expected struct `PathBuf`, found `&Mapping`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/config.rs:126:70
[INFO] [stdout]     |
[INFO] [stdout] 126 |                 return Err(AppError::ConfigNestedLinks(next.clone(), current.clone()));
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^ expected struct `PathBuf`, found `&Mapping`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/config.rs:145:17
[INFO] [stdout]     |
[INFO] [stdout] 145 |                 PathBuf::from(".config/some-other-dir"),
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected struct `Mapping`, found struct `PathBuf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 22 previous errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0308, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] error: build failed
[INFO] running `Command { std: "docker" "inspect" "96e06c0a3c4bf4610132217f603b4d04e626398804957d72499407609a0b10d4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "96e06c0a3c4bf4610132217f603b4d04e626398804957d72499407609a0b10d4", kill_on_drop: false }`
[INFO] [stdout] 96e06c0a3c4bf4610132217f603b4d04e626398804957d72499407609a0b10d4
