[INFO] cloning repository https://github.com/gz0ni/rclash
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/gz0ni/rclash" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgz0ni%2Frclash", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgz0ni%2Frclash'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] f7fed742485bc5ca6a7885a0f56d5f8b869b5f36
[INFO] checking gz0ni/rclash against 3154cc1a3e6424e44f438a95007d043ed5ceaaf6 for pr-133502-30
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgz0ni%2Frclash" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/gz0ni/rclash
[INFO] finished tweaking git repo https://github.com/gz0ni/rclash
[INFO] tweaked toml for git repo https://github.com/gz0ni/rclash written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/gz0ni/rclash on toolchain 3154cc1a3e6424e44f438a95007d043ed5ceaaf6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/gz0ni/rclash 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" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 17 packages to highest compatible versions
[INFO] [stderr]       Adding ahash v0.8.12
[INFO] [stderr]       Adding cfg_aliases v0.2.2
[INFO] [stderr]  Downgrading hashbrown v0.16.1 -> v0.14.5
[INFO] [stderr]  Downgrading hashlink v0.12.1 -> v0.9.1
[INFO] [stderr]  Downgrading libsqlite3-sys v0.38.2 -> v0.28.0
[INFO] [stderr]       Adding lru-slab v0.1.3
[INFO] [stderr]       Adding quinn v0.11.12
[INFO] [stderr]       Adding quinn-proto v0.11.19
[INFO] [stderr]       Adding quinn-udp v0.5.16
[INFO] [stderr]       Adding rand_pcg v0.10.2
[INFO] [stderr]       Adding reqwest v0.12.28 (available: v0.13.5)
[INFO] [stderr]  Downgrading rusqlite v0.40.2 -> v0.31.0 (available: v0.40.2)
[INFO] [stderr]       Adding rustc-hash v2.1.3
[INFO] [stderr]       Adding serde_urlencoded v0.7.1
[INFO] [stderr]       Adding tinyvec v1.13.3
[INFO] [stderr]       Adding web-time v1.1.0
[INFO] [stderr]       Adding webpki-roots v1.0.9
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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] ecdbeb0f55ae7980296a2ccbc0bf5b87678f04d787a96af9bf86bc57a9d54db0
[INFO] running `Command { std: "docker" "start" "ecdbeb0f55ae7980296a2ccbc0bf5b87678f04d787a96af9bf86bc57a9d54db0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ecdbeb0f55ae7980296a2ccbc0bf5b87678f04d787a96af9bf86bc57a9d54db0", 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" "ecdbeb0f55ae7980296a2ccbc0bf5b87678f04d787a96af9bf86bc57a9d54db0" "/opt/rustwide/cargo-home/bin/cargo" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ecdbeb0f55ae7980296a2ccbc0bf5b87678f04d787a96af9bf86bc57a9d54db0", 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" "ecdbeb0f55ae7980296a2ccbc0bf5b87678f04d787a96af9bf86bc57a9d54db0" "/opt/rustwide/cargo-home/bin/cargo" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v2.0.119
[INFO] [stderr]     Checking mio v1.2.2
[INFO] [stderr]     Checking serde v1.0.229
[INFO] [stderr]     Checking indexmap v2.14.1
[INFO] [stderr]    Compiling serde_json v1.0.151
[INFO] [stderr]     Checking ring v0.17.14
[INFO] [stderr]     Checking futures-io v0.3.34
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking futures-util v0.3.34
[INFO] [stderr]     Checking dirs-sys v0.4.1
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]     Checking dirs v5.0.1
[INFO] [stderr]     Checking tokio v1.53.1
[INFO] [stderr]    Compiling libsqlite3-sys v0.28.0
[INFO] [stderr]    Compiling darling_core v0.24.1
[INFO] [stderr]     Checking hybrid-array v0.4.15
[INFO] [stderr]     Checking serde_yaml v0.9.34+deprecated
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]     Checking rustls-webpki v0.103.15
[INFO] [stderr]     Checking chrono v0.4.45
[INFO] [stderr]     Checking signal-hook v0.3.18
[INFO] [stderr]     Checking rustls v0.23.43
[INFO] [stderr]     Checking rclash-config v0.1.0 (/opt/rustwide/workdir/crates/rclash-config)
[INFO] [stdout] error[E0583]: file not found for module `guard`
[INFO] [stdout]  --> crates/rclash-config/src/lib.rs:5:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub mod guard;
[INFO] [stdout]   | ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: to create the module `guard`, create file "crates/rclash-config/src/guard.rs" or "crates/rclash-config/src/guard/mod.rs"
[INFO] [stdout]   = note: if there is a `mod guard` elsewhere in the crate already, import it with `use crate::...` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `thiserror` in this scope
[INFO] [stdout]  --> crates/rclash-config/src/lib.rs:9:17
[INFO] [stdout]   |
[INFO] [stdout] 9 | #[derive(Debug, thiserror::Error)]
[INFO] [stdout]   |                 ^^^^^^^^^ use of unresolved module or unlinked crate `thiserror`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `error` in this scope
[INFO] [stdout]   --> crates/rclash-config/src/lib.rs:11:7
[INFO] [stdout]    |
[INFO] [stdout] 11 |     #[error("no config dir")]
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `error` in this scope
[INFO] [stdout]   --> crates/rclash-config/src/lib.rs:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 |     #[error("profile root not mapping")]
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `error` in this scope
[INFO] [stdout]   --> crates/rclash-config/src/lib.rs:15:7
[INFO] [stdout]    |
[INFO] [stdout] 15 |     #[error("custom.yaml root not mapping")]
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `error` in this scope
[INFO] [stdout]   --> crates/rclash-config/src/lib.rs:17:7
[INFO] [stdout]    |
[INFO] [stdout] 17 |     #[error("proxies not sequence")]
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `error` in this scope
[INFO] [stdout]   --> crates/rclash-config/src/lib.rs:19:7
[INFO] [stdout]    |
[INFO] [stdout] 19 |     #[error(transparent)]
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `from` in this scope
[INFO] [stdout]   --> crates/rclash-config/src/lib.rs:20:10
[INFO] [stdout]    |
[INFO] [stdout] 20 |     Io(#[from] std::io::Error),
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `error` in this scope
[INFO] [stdout]   --> crates/rclash-config/src/lib.rs:21:7
[INFO] [stdout]    |
[INFO] [stdout] 21 |     #[error(transparent)]
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `from` in this scope
[INFO] [stdout]   --> crates/rclash-config/src/lib.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 22 |     Json(#[from] serde_json::Error),
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `error` in this scope
[INFO] [stdout]   --> crates/rclash-config/src/lib.rs:23:7
[INFO] [stdout]    |
[INFO] [stdout] 23 |     #[error(transparent)]
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `from` in this scope
[INFO] [stdout]   --> crates/rclash-config/src/lib.rs:24:12
[INFO] [stdout]    |
[INFO] [stdout] 24 |     Yaml(#[from] serde_yaml::Error),
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `rustls` in this scope
[INFO] [stdout]   --> crates/rclash-config/src/lib.rs:42:17
[INFO] [stdout]    |
[INFO] [stdout] 42 |         let _ = rustls::crypto::ring::default_provider().install_default();
[INFO] [stdout]    |                 ^^^^^^ use of unresolved module or unlinked crate `rustls`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `rustls`, use `cargo add rustls` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `?` couldn't convert the error: `Error: StdError` is not satisfied
[INFO] [stdout]   --> crates/rclash-config/src/custom.rs:44:49
[INFO] [stdout]    |
[INFO] [stdout]  8 | pub fn ensure_custom_yaml() -> anyhow::Result<PathBuf> {
[INFO] [stdout]    |                                ----------------------- required `Error: StdError` because of this
[INFO] [stdout] ...
[INFO] [stdout] 44 |         crate::atomic_write(&path, s.as_bytes())?;
[INFO] [stdout]    |         ----------------------------------------^ the trait `StdError` is not implemented for `Error`
[INFO] [stdout]    |         |
[INFO] [stdout]    |         this has type `Result<_, Error>`
[INFO] [stdout]    |
[INFO] [stdout] note: `Error` needs to implement `StdError`
[INFO] [stdout]   --> crates/rclash-config/src/lib.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub enum Error {
[INFO] [stdout]    | ^^^^^^^^^^^^^^
[INFO] [stdout]    = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
[INFO] [stdout]    = note: required for `anyhow::Error` to implement `From<Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `?` couldn't convert the error: `Error: StdError` is not satisfied
[INFO] [stdout]   --> crates/rclash-config/src/custom.rs:59:45
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub fn write_custom_yaml(value: &serde_yaml::Value) -> anyhow::Result<()> {
[INFO] [stdout]    |                                                        ------------------ required `Error: StdError` because of this
[INFO] [stdout] ...
[INFO] [stdout] 59 |     crate::atomic_write(&path, s.as_bytes())?;
[INFO] [stdout]    |     ----------------------------------------^ the trait `StdError` is not implemented for `Error`
[INFO] [stdout]    |     |
[INFO] [stdout]    |     this has type `Result<_, Error>`
[INFO] [stdout]    |
[INFO] [stdout] note: `Error` needs to implement `StdError`
[INFO] [stdout]   --> crates/rclash-config/src/lib.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub enum Error {
[INFO] [stdout]    | ^^^^^^^^^^^^^^
[INFO] [stdout]    = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
[INFO] [stdout]    = note: required for `anyhow::Error` to implement `From<Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `?` couldn't convert the error: `Error: StdError` is not satisfied
[INFO] [stdout]    --> crates/rclash-config/src/custom.rs:223:49
[INFO] [stdout]     |
[INFO] [stdout] 115 | pub fn add_raw_proxies(new_proxies: Vec<serde_yaml::Value>) -> anyhow::Result<usize> {
[INFO] [stdout]     |                                                                --------------------- required `Error: StdError` because of this
[INFO] [stdout] ...
[INFO] [stdout] 223 |         crate::atomic_write(&path, s.as_bytes())?;
[INFO] [stdout]     |         ----------------------------------------^ the trait `StdError` is not implemented for `Error`
[INFO] [stdout]     |         |
[INFO] [stdout]     |         this has type `Result<_, Error>`
[INFO] [stdout]     |
[INFO] [stdout] note: `Error` needs to implement `StdError`
[INFO] [stdout]    --> crates/rclash-config/src/lib.rs:10:1
[INFO] [stdout]     |
[INFO] [stdout]  10 | pub enum Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^
[INFO] [stdout]     = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
[INFO] [stdout]     = note: required for `anyhow::Error` to implement `From<Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `?` couldn't convert the error: `Error: StdError` is not satisfied
[INFO] [stdout]    --> crates/rclash-config/src/custom.rs:275:49
[INFO] [stdout]     |
[INFO] [stdout] 229 | pub fn remove_raw_proxy(name: &str) -> anyhow::Result<bool> {
[INFO] [stdout]     |                                        -------------------- required `Error: StdError` because of this
[INFO] [stdout] ...
[INFO] [stdout] 275 |         crate::atomic_write(&path, s.as_bytes())?;
[INFO] [stdout]     |         ----------------------------------------^ the trait `StdError` is not implemented for `Error`
[INFO] [stdout]     |         |
[INFO] [stdout]     |         this has type `Result<_, Error>`
[INFO] [stdout]     |
[INFO] [stdout] note: `Error` needs to implement `StdError`
[INFO] [stdout]    --> crates/rclash-config/src/lib.rs:10:1
[INFO] [stdout]     |
[INFO] [stdout]  10 | pub enum Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^
[INFO] [stdout]     = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
[INFO] [stdout]     = note: required for `anyhow::Error` to implement `From<Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `?` couldn't convert the error: `Error: StdError` is not satisfied
[INFO] [stdout]    --> crates/rclash-config/src/custom.rs:310:49
[INFO] [stdout]     |
[INFO] [stdout] 281 | pub fn clear_raw_proxies() -> anyhow::Result<()> {
[INFO] [stdout]     |                               ------------------ required `Error: StdError` because of this
[INFO] [stdout] ...
[INFO] [stdout] 310 |         crate::atomic_write(&path, s.as_bytes())?;
[INFO] [stdout]     |         ----------------------------------------^ the trait `StdError` is not implemented for `Error`
[INFO] [stdout]     |         |
[INFO] [stdout]     |         this has type `Result<_, Error>`
[INFO] [stdout]     |
[INFO] [stdout] note: `Error` needs to implement `StdError`
[INFO] [stdout]    --> crates/rclash-config/src/lib.rs:10:1
[INFO] [stdout]     |
[INFO] [stdout]  10 | pub enum Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^
[INFO] [stdout]     = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
[INFO] [stdout]     = note: required for `anyhow::Error` to implement `From<Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `?` couldn't convert the error: `Error: StdError` is not satisfied
[INFO] [stdout]    --> crates/rclash-config/src/profile.rs:109:41
[INFO] [stdout]     |
[INFO] [stdout] 108 | pub fn save_profile_store(store: &ProfileStore) -> anyhow::Result<()> {
[INFO] [stdout]     |                                                    ------------------ required `Error: StdError` because of this
[INFO] [stdout] 109 |     let dir = crate::ensure_config_dir()?;
[INFO] [stdout]     |               --------------------------^ the trait `StdError` is not implemented for `Error`
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this has type `Result<_, Error>`
[INFO] [stdout]     |
[INFO] [stdout] note: `Error` needs to implement `StdError`
[INFO] [stdout]    --> crates/rclash-config/src/lib.rs:10:1
[INFO] [stdout]     |
[INFO] [stdout]  10 | pub enum Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^
[INFO] [stdout]     = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
[INFO] [stdout]     = note: required for `anyhow::Error` to implement `From<Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `?` couldn't convert the error: `Error: StdError` is not satisfied
[INFO] [stdout]    --> crates/rclash-config/src/profile.rs:112:45
[INFO] [stdout]     |
[INFO] [stdout] 108 | pub fn save_profile_store(store: &ProfileStore) -> anyhow::Result<()> {
[INFO] [stdout]     |                                                    ------------------ required `Error: StdError` because of this
[INFO] [stdout] ...
[INFO] [stdout] 112 |     crate::atomic_write(&path, s.as_bytes())?;
[INFO] [stdout]     |     ----------------------------------------^ the trait `StdError` is not implemented for `Error`
[INFO] [stdout]     |     |
[INFO] [stdout]     |     this has type `Result<_, Error>`
[INFO] [stdout]     |
[INFO] [stdout] note: `Error` needs to implement `StdError`
[INFO] [stdout]    --> crates/rclash-config/src/lib.rs:10:1
[INFO] [stdout]     |
[INFO] [stdout]  10 | pub enum Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^
[INFO] [stdout]     = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
[INFO] [stdout]     = note: required for `anyhow::Error` to implement `From<Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `?` couldn't convert the error: `Error: StdError` is not satisfied
[INFO] [stdout]    --> crates/rclash-config/src/profile.rs:167:51
[INFO] [stdout]     |
[INFO] [stdout] 154 | pub fn import_profile_content(content: &str, name: &str) -> anyhow::Result<Profile> {
[INFO] [stdout]     |                                                             ----------------------- required `Error: StdError` because of this
[INFO] [stdout] ...
[INFO] [stdout] 167 |     crate::atomic_write(&dest, content.as_bytes())?;
[INFO] [stdout]     |     ----------------------------------------------^ the trait `StdError` is not implemented for `Error`
[INFO] [stdout]     |     |
[INFO] [stdout]     |     this has type `Result<_, Error>`
[INFO] [stdout]     |
[INFO] [stdout] note: `Error` needs to implement `StdError`
[INFO] [stdout]    --> crates/rclash-config/src/lib.rs:10:1
[INFO] [stdout]     |
[INFO] [stdout]  10 | pub enum Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^
[INFO] [stdout]     = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
[INFO] [stdout]     = note: required for `anyhow::Error` to implement `From<Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `?` couldn't convert the error: `Error: StdError` is not satisfied
[INFO] [stdout]    --> crates/rclash-config/src/runtime.rs:185:51
[INFO] [stdout]     |
[INFO] [stdout] 182 | pub fn write_runtime_config(content: &str) -> anyhow::Result<PathBuf> {
[INFO] [stdout]     |                                               ----------------------- required `Error: StdError` because of this
[INFO] [stdout] ...
[INFO] [stdout] 185 |     crate::atomic_write(&path, content.as_bytes())?;
[INFO] [stdout]     |     ----------------------------------------------^ the trait `StdError` is not implemented for `Error`
[INFO] [stdout]     |     |
[INFO] [stdout]     |     this has type `Result<_, Error>`
[INFO] [stdout]     |
[INFO] [stdout] note: `Error` needs to implement `StdError`
[INFO] [stdout]    --> crates/rclash-config/src/lib.rs:10:1
[INFO] [stdout]     |
[INFO] [stdout]  10 | pub enum Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^
[INFO] [stdout]     = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
[INFO] [stdout]     = note: required for `anyhow::Error` to implement `From<Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `?` couldn't convert the error to `Error`
[INFO] [stdout]   --> crates/rclash-config/src/lib.rs:35:34
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub fn ensure_config_dir() -> Result<PathBuf> {
[INFO] [stdout]    |                               --------------- expected `Error` because of this
[INFO] [stdout] 34 |     let dir = config_dir().ok_or(Error::NoConfigDir)?;
[INFO] [stdout] 35 |     std::fs::create_dir_all(&dir)?;
[INFO] [stdout]    |     -----------------------------^ the trait `From<std::io::Error>` is not implemented for `Error`
[INFO] [stdout]    |     |
[INFO] [stdout]    |     this can't be annotated with `?` because it has type `Result<_, std::io::Error>`
[INFO] [stdout]    |
[INFO] [stdout] note: `Error` needs to implement `From<std::io::Error>`
[INFO] [stdout]   --> crates/rclash-config/src/lib.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub enum Error {
[INFO] [stdout]    | ^^^^^^^^^^^^^^
[INFO] [stdout]    = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `?` couldn't convert the error to `Error`
[INFO] [stdout]   --> crates/rclash-config/src/lib.rs:47:42
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub fn validate_yaml(path: &Path) -> Result<serde_yaml::Value> {
[INFO] [stdout]    |                                      ------------------------- expected `Error` because of this
[INFO] [stdout] 47 |     let s = std::fs::read_to_string(path)?;
[INFO] [stdout]    |             -----------------------------^ the trait `From<std::io::Error>` is not implemented for `Error`
[INFO] [stdout]    |             |
[INFO] [stdout]    |             this can't be annotated with `?` because it has type `Result<_, std::io::Error>`
[INFO] [stdout]    |
[INFO] [stdout] note: `Error` needs to implement `From<std::io::Error>`
[INFO] [stdout]   --> crates/rclash-config/src/lib.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub enum Error {
[INFO] [stdout]    | ^^^^^^^^^^^^^^
[INFO] [stdout]    = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `?` couldn't convert the error to `Error`
[INFO] [stdout]   --> crates/rclash-config/src/lib.rs:48:56
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub fn validate_yaml(path: &Path) -> Result<serde_yaml::Value> {
[INFO] [stdout]    |                                      ------------------------- expected `Error` because of this
[INFO] [stdout] 47 |     let s = std::fs::read_to_string(path)?;
[INFO] [stdout] 48 |     let v: serde_yaml::Value = serde_yaml::from_str(&s)?;
[INFO] [stdout]    |                                ------------------------^ the trait `From<serde_yaml::Error>` is not implemented for `Error`
[INFO] [stdout]    |                                |
[INFO] [stdout]    |                                this can't be annotated with `?` because it has type `Result<_, serde_yaml::Error>`
[INFO] [stdout]    |
[INFO] [stdout] note: `Error` needs to implement `From<serde_yaml::Error>`
[INFO] [stdout]   --> crates/rclash-config/src/lib.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub enum Error {
[INFO] [stdout]    | ^^^^^^^^^^^^^^
[INFO] [stdout]    = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `?` couldn't convert the error to `Error`
[INFO] [stdout]    --> crates/rclash-config/src/lib.rs:513:46
[INFO] [stdout]     |
[INFO] [stdout] 510 | pub fn save_app_config(cfg: &AppConfig) -> Result<()> {
[INFO] [stdout]     |                                            ---------- expected `Error` because of this
[INFO] [stdout] ...
[INFO] [stdout] 513 |     let s = serde_json::to_string_pretty(cfg)?;
[INFO] [stdout]     |             ---------------------------------^ the trait `From<serde_json::Error>` is not implemented for `Error`
[INFO] [stdout]     |             |
[INFO] [stdout]     |             this can't be annotated with `?` because it has type `Result<_, serde_json::Error>`
[INFO] [stdout]     |
[INFO] [stdout] note: `Error` needs to implement `From<serde_json::Error>`
[INFO] [stdout]    --> crates/rclash-config/src/lib.rs:10:1
[INFO] [stdout]     |
[INFO] [stdout]  10 | pub enum Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^
[INFO] [stdout]     = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `?` couldn't convert the error to `Error`
[INFO] [stdout]    --> crates/rclash-config/src/lib.rs:556:44
[INFO] [stdout]     |
[INFO] [stdout] 553 | pub fn atomic_write(path: &Path, data: &[u8]) -> Result<()> {
[INFO] [stdout]     |                                                  ---------- expected `Error` because of this
[INFO] [stdout] ...
[INFO] [stdout] 556 |             std::fs::create_dir_all(parent)?;
[INFO] [stdout]     |             -------------------------------^ the trait `From<std::io::Error>` is not implemented for `Error`
[INFO] [stdout]     |             |
[INFO] [stdout]     |             this can't be annotated with `?` because it has type `Result<_, std::io::Error>`
[INFO] [stdout]     |
[INFO] [stdout] note: `Error` needs to implement `From<std::io::Error>`
[INFO] [stdout]    --> crates/rclash-config/src/lib.rs:10:1
[INFO] [stdout]     |
[INFO] [stdout]  10 | pub enum Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^
[INFO] [stdout]     = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `?` couldn't convert the error to `Error`
[INFO] [stdout]    --> crates/rclash-config/src/lib.rs:561:35
[INFO] [stdout]     |
[INFO] [stdout] 561 |         std::fs::write(&tmp, data)?;
[INFO] [stdout]     |         --------------------------^ the trait `From<std::io::Error>` is not implemented for `Error`
[INFO] [stdout]     |         |
[INFO] [stdout]     |         this can't be annotated with `?` because it has type `Result<_, std::io::Error>`
[INFO] [stdout]     |
[INFO] [stdout] note: `Error` needs to implement `From<std::io::Error>`
[INFO] [stdout]    --> crates/rclash-config/src/lib.rs:10:1
[INFO] [stdout]     |
[INFO] [stdout]  10 | pub enum Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^
[INFO] [stdout]     = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `?` couldn't convert the error to `Error`
[INFO] [stdout]    --> crates/rclash-config/src/lib.rs:564:24
[INFO] [stdout]     |
[INFO] [stdout] 564 |             .open(&tmp)?
[INFO] [stdout]     |              ----------^ the trait `From<std::io::Error>` is not implemented for `Error`
[INFO] [stdout]     |              |
[INFO] [stdout]     |              this can't be annotated with `?` because it has type `Result<_, std::io::Error>`
[INFO] [stdout]     |
[INFO] [stdout] note: `Error` needs to implement `From<std::io::Error>`
[INFO] [stdout]    --> crates/rclash-config/src/lib.rs:10:1
[INFO] [stdout]     |
[INFO] [stdout]  10 | pub enum Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^
[INFO] [stdout]     = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `?` couldn't convert the error to `Error`
[INFO] [stdout]    --> crates/rclash-config/src/lib.rs:565:24
[INFO] [stdout]     |
[INFO] [stdout] 565 |             .sync_all()?;
[INFO] [stdout]     |              ----------^ the trait `From<std::io::Error>` is not implemented for `Error`
[INFO] [stdout]     |              |
[INFO] [stdout]     |              this can't be annotated with `?` because it has type `Result<_, std::io::Error>`
[INFO] [stdout]     |
[INFO] [stdout] note: `Error` needs to implement `From<std::io::Error>`
[INFO] [stdout]    --> crates/rclash-config/src/lib.rs:10:1
[INFO] [stdout]     |
[INFO] [stdout]  10 | pub enum Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^
[INFO] [stdout]     = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `?` couldn't convert the error to `Error`
[INFO] [stdout]    --> crates/rclash-config/src/lib.rs:569:43
[INFO] [stdout]     |
[INFO] [stdout] 569 |                 std::fs::remove_file(path)?;
[INFO] [stdout]     |                 --------------------------^ the trait `From<std::io::Error>` is not implemented for `Error`
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 this can't be annotated with `?` because it has type `Result<_, std::io::Error>`
[INFO] [stdout]     |
[INFO] [stdout] note: `Error` needs to implement `From<std::io::Error>`
[INFO] [stdout]    --> crates/rclash-config/src/lib.rs:10:1
[INFO] [stdout]     |
[INFO] [stdout]  10 | pub enum Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^
[INFO] [stdout]     = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `?` couldn't convert the error to `Error`
[INFO] [stdout]    --> crates/rclash-config/src/lib.rs:570:63
[INFO] [stdout]     |
[INFO] [stdout] 570 |                 std::fs::rename(&tmp, path).map_err(|_| first)?;
[INFO] [stdout]     |                 ---------------------------                   ^ the trait `From<std::io::Error>` is not implemented for `Error`
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 this has type `Result<_, std::io::Error>`
[INFO] [stdout]     |
[INFO] [stdout] note: `Error` needs to implement `From<std::io::Error>`
[INFO] [stdout]    --> crates/rclash-config/src/lib.rs:10:1
[INFO] [stdout]     |
[INFO] [stdout]  10 | pub enum Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^
[INFO] [stdout]     = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Error: From<std::io::Error>` is not satisfied
[INFO] [stdout]    --> crates/rclash-config/src/lib.rs:572:36
[INFO] [stdout]     |
[INFO] [stdout] 572 |             Err(e) => return Err(e.into()),
[INFO] [stdout]     |                                    ^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `From<std::io::Error>` is not implemented for `Error`
[INFO] [stdout]    --> crates/rclash-config/src/lib.rs:10:1
[INFO] [stdout]     |
[INFO] [stdout]  10 | pub enum Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^
[INFO] [stdout]     = note: required for `std::io::Error` to implement `Into<Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0433, E0583.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `rclash-config` (lib) due to 33 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] running `Command { std: "docker" "inspect" "ecdbeb0f55ae7980296a2ccbc0bf5b87678f04d787a96af9bf86bc57a9d54db0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ecdbeb0f55ae7980296a2ccbc0bf5b87678f04d787a96af9bf86bc57a9d54db0", kill_on_drop: false }`
[INFO] [stdout] ecdbeb0f55ae7980296a2ccbc0bf5b87678f04d787a96af9bf86bc57a9d54db0
