[INFO] cloning repository https://github.com/TDC302/pl_update
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/TDC302/pl_update" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FTDC302%2Fpl_update", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FTDC302%2Fpl_update'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 976847bcbd3cb91dd290a26b9b238e90f0c93d01
[INFO] checking TDC302/pl_update against 5c543b0b8c73c7b72bc8284ced4fb22ead15734d for pr-160186
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FTDC302%2Fpl_update" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/TDC302/pl_update
[INFO] finished tweaking git repo https://github.com/TDC302/pl_update
[INFO] tweaked toml for git repo https://github.com/TDC302/pl_update written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/TDC302/pl_update on toolchain 5c543b0b8c73c7b72bc8284ced4fb22ead15734d
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+5c543b0b8c73c7b72bc8284ced4fb22ead15734d" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/TDC302/pl_update 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" "+5c543b0b8c73c7b72bc8284ced4fb22ead15734d" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded unicode-ident v1.0.17
[INFO] [stderr]   Downloaded itoa v1.0.14
[INFO] [stderr]   Downloaded windows-link v0.1.0
[INFO] [stderr]   Downloaded event-listener-strategy v0.5.3
[INFO] [stderr]   Downloaded once_cell v1.20.3
[INFO] [stderr]   Downloaded ryu v1.0.19
[INFO] [stderr]   Downloaded colored v2.2.0
[INFO] [stderr]   Downloaded clap_derive v4.5.28
[INFO] [stderr]   Downloaded serde_json v1.0.139
[INFO] [stderr]   Downloaded serde v1.0.218
[INFO] [stderr]   Downloaded serde_derive v1.0.218
[INFO] [stderr]   Downloaded clap v4.5.31
[INFO] [stderr]   Downloaded cc v1.2.15
[INFO] [stderr]   Downloaded clap_builder v4.5.31
[INFO] [stderr]   Downloaded syn v2.0.98
[INFO] [stderr]   Downloaded winmtp v0.3.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/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] e108cdc4c899b185cf5c8783e51ae6bdf06f2f878260a12cbd90bf818c2ec113
[INFO] running `Command { std: "docker" "start" "e108cdc4c899b185cf5c8783e51ae6bdf06f2f878260a12cbd90bf818c2ec113", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "e108cdc4c899b185cf5c8783e51ae6bdf06f2f878260a12cbd90bf818c2ec113", 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" "e108cdc4c899b185cf5c8783e51ae6bdf06f2f878260a12cbd90bf818c2ec113" "/opt/rustwide/cargo-home/bin/cargo" "+5c543b0b8c73c7b72bc8284ced4fb22ead15734d" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "e108cdc4c899b185cf5c8783e51ae6bdf06f2f878260a12cbd90bf818c2ec113", 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" "e108cdc4c899b185cf5c8783e51ae6bdf06f2f878260a12cbd90bf818c2ec113" "/opt/rustwide/cargo-home/bin/cargo" "+5c543b0b8c73c7b72bc8284ced4fb22ead15734d" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.93
[INFO] [stderr]    Compiling unicode-ident v1.0.17
[INFO] [stderr]    Compiling windows_x86_64_gnu v0.52.6
[INFO] [stderr]     Checking utf8parse v0.2.2
[INFO] [stderr]     Checking memchr v2.7.4
[INFO] [stderr]    Compiling serde v1.0.218
[INFO] [stderr]     Checking colorchoice v1.0.3
[INFO] [stderr]     Checking anstyle v1.0.10
[INFO] [stderr]     Checking futures-core v0.3.31
[INFO] [stderr]     Checking is_terminal_polyfill v1.70.1
[INFO] [stderr]     Checking anstyle-query v1.1.2
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling serde_json v1.0.139
[INFO] [stderr]     Checking clap_lex v0.7.4
[INFO] [stderr]     Checking concurrent-queue v2.5.0
[INFO] [stderr]    Compiling thiserror v2.0.11
[INFO] [stderr]     Checking anstyle-parse v0.2.6
[INFO] [stderr]     Checking strsim v0.11.1
[INFO] [stderr]     Checking fastrand v2.3.0
[INFO] [stderr]     Checking log v0.4.26
[INFO] [stderr]     Checking futures-lite v2.6.0
[INFO] [stderr]     Checking itoa v1.0.14
[INFO] [stderr]     Checking widestring v1.1.0
[INFO] [stderr]     Checking iana-time-zone v0.1.61
[INFO] [stderr]     Checking ryu v1.0.19
[INFO] [stderr]     Checking colored v2.2.0
[INFO] [stderr]     Checking piper v0.2.4
[INFO] [stderr]     Checking anstream v0.6.18
[INFO] [stderr]     Checking event-listener v5.4.0
[INFO] [stderr]     Checking windows-targets v0.52.6
[INFO] [stderr]     Checking windows-core v0.52.0
[INFO] [stderr]     Checking aho-corasick v1.1.3
[INFO] [stderr]     Checking clap_builder v4.5.31
[INFO] [stderr]     Checking event-listener-strategy v0.5.3
[INFO] [stderr]     Checking async-channel v2.3.1
[INFO] [stderr]     Checking blocking v1.6.1
[INFO] [stderr]     Checking chrono v0.4.40
[INFO] [stderr]    Compiling quote v1.0.38
[INFO] [stderr]     Checking windows v0.52.0
[INFO] [stderr]    Compiling syn v2.0.98
[INFO] [stderr]     Checking regex-automata v0.4.9
[INFO] [stderr]     Checking regex v1.11.1
[INFO] [stderr]    Compiling serde_derive v1.0.218
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling thiserror-impl v2.0.11
[INFO] [stderr]    Compiling clap_derive v4.5.28
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]     Checking clap v4.5.31
[INFO] [stderr]     Checking os_info v3.10.0
[INFO] [stderr]     Checking winmtp v0.3.1
[INFO] [stderr]     Checking pl-update v3.3.0 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0433]: cannot find `windows` in `os`
[INFO] [stdout]  --> src/string_parsing.rs:1:62
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{ffi::OsString, io::{BufRead, BufReader, Read}, os::windows::ffi::OsStrExt};
[INFO] [stdout]   |                                                              ^^^^^^^ could not find `windows` in `os`
[INFO] [stdout]   |
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]  --> /rustc/5c543b0b8c73c7b72bc8284ced4fb22ead15734d/library/std/src/os/mod.rs:62:4
[INFO] [stdout]   |
[INFO] [stdout]   = note: the item is gated behind the `windows` feature
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find `windows` in `os`
[INFO] [stdout]  --> src/app/push.rs:5:14
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::os::windows::ffi::OsStrExt;
[INFO] [stdout]   |              ^^^^^^^ could not find `windows` in `os`
[INFO] [stdout]   |
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]  --> /rustc/5c543b0b8c73c7b72bc8284ced4fb22ead15734d/library/std/src/os/mod.rs:62:4
[INFO] [stdout]   |
[INFO] [stdout]   = note: the item is gated behind the `windows` feature
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find `windows` in `os`
[INFO] [stdout]  --> src/string_parsing.rs:1:62
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{ffi::OsString, io::{BufRead, BufReader, Read}, os::windows::ffi::OsStrExt};
[INFO] [stdout]   |                                                              ^^^^^^^ could not find `windows` in `os`
[INFO] [stdout]   |
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]  --> /rustc/5c543b0b8c73c7b72bc8284ced4fb22ead15734d/library/std/src/os/mod.rs:62:4
[INFO] [stdout]   |
[INFO] [stdout]   = note: the item is gated behind the `windows` feature
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find `windows` in `os`
[INFO] [stdout]  --> src/app/push.rs:5:14
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::os::windows::ffi::OsStrExt;
[INFO] [stdout]   |              ^^^^^^^ could not find `windows` in `os`
[INFO] [stdout]   |
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]  --> /rustc/5c543b0b8c73c7b72bc8284ced4fb22ead15734d/library/std/src/os/mod.rs:62:4
[INFO] [stdout]   |
[INFO] [stdout]   = note: the item is gated behind the `windows` feature
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `encode_wide` found for struct `OsString` in the current scope
[INFO] [stdout]   --> src/string_parsing.rs:69:32
[INFO] [stdout]    |
[INFO] [stdout] 69 |         let buf: Vec<_> = data.encode_wide().collect();
[INFO] [stdout]    |                                ^^^^^^^^^^^ method not found in `OsString`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `encode_wide` found for struct `OsString` in the current scope
[INFO] [stdout]   --> src/string_parsing.rs:69:32
[INFO] [stdout]    |
[INFO] [stdout] 69 |         let buf: Vec<_> = data.encode_wide().collect();
[INFO] [stdout]    |                                ^^^^^^^^^^^ method not found in `OsString`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `encode_wide` found for reference `&std::ffi::OsStr` in the current scope
[INFO] [stdout]   --> src/app/push.rs:73:70
[INFO] [stdout]    |
[INFO] [stdout] 73 |             let data: Vec<u16> = current_dir()?.file_name().unwrap().encode_wide().collect();
[INFO] [stdout]    |                                                                      ^^^^^^^^^^^ method not found in `&std::ffi::OsStr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `encode_wide` found for reference `&std::ffi::OsStr` in the current scope
[INFO] [stdout]   --> src/app/push.rs:73:70
[INFO] [stdout]    |
[INFO] [stdout] 73 |             let data: Vec<u16> = current_dir()?.file_name().unwrap().encode_wide().collect();
[INFO] [stdout]    |                                                                      ^^^^^^^^^^^ method not found in `&std::ffi::OsStr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `?` couldn't convert the error to `error::Error`
[INFO] [stdout]   --> src/app/push.rs:74:65
[INFO] [stdout]    |
[INFO] [stdout] 74 |             playlist_folder_name = WideUtfString::from_vec(data)?;
[INFO] [stdout]    |                                    -----------------------------^ the trait `From<Utf32Error>` is not implemented for `error::Error`
[INFO] [stdout]    |                                    |
[INFO] [stdout]    |                                    this can't be annotated with `?` because it has type `Result<_, Utf32Error>`
[INFO] [stdout]    |
[INFO] [stdout] note: `error::Error` needs to implement `From<Utf32Error>`
[INFO] [stdout]   --> src/error.rs:5:1
[INFO] [stdout]    |
[INFO] [stdout]  5 | 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]    = help: `error::Error` implements trait `From<T>`:
[INFO] [stdout]              From<CreateFolderError>
[INFO] [stdout]              From<MtpError>
[INFO] [stdout]              From<WindowsError>
[INFO] [stdout]              From<serde_json::Error>
[INFO] [stdout]              From<std::io::Error>
[INFO] [stdout]              From<widestring::error::Utf16Error>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `?` couldn't convert the error to `error::Error`
[INFO] [stdout]   --> src/app/push.rs:74:65
[INFO] [stdout]    |
[INFO] [stdout] 74 |             playlist_folder_name = WideUtfString::from_vec(data)?;
[INFO] [stdout]    |                                    -----------------------------^ the trait `From<Utf32Error>` is not implemented for `error::Error`
[INFO] [stdout]    |                                    |
[INFO] [stdout]    |                                    this can't be annotated with `?` because it has type `Result<_, Utf32Error>`
[INFO] [stdout]    |
[INFO] [stdout] note: `error::Error` needs to implement `From<Utf32Error>`
[INFO] [stdout]   --> src/error.rs:5:1
[INFO] [stdout]    |
[INFO] [stdout]  5 | 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]    = help: `error::Error` implements trait `From<T>`:
[INFO] [stdout]              From<CreateFolderError>
[INFO] [stdout]              From<MtpError>
[INFO] [stdout]              From<WindowsError>
[INFO] [stdout]              From<serde_json::Error>
[INFO] [stdout]              From<std::io::Error>
[INFO] [stdout]              From<widestring::error::Utf16Error>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `U16CStr: AsRef<U32CStr>` is not satisfied
[INFO] [stdout]     --> src/app/push.rs:181:92
[INFO] [stdout]      |
[INFO] [stdout]  181 | ...).find(|&dir| WideUtfString::from_ucstring(dir.name()).unwrap().to_lowercase().contains("sd card".into())) {
[INFO] [stdout]      |                  ---------------------------- ^^^^^^^^^^ the trait `AsRef<U32CStr>` is not implemented for `U16CStr`
[INFO] [stdout]      |                  |
[INFO] [stdout]      |                  required by a bound introduced by this call
[INFO] [stdout]      |
[INFO] [stdout] help: `U16CStr` implements trait `AsRef<T>`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/widestring-1.1.0/src/ucstr.rs:828:9
[INFO] [stdout]      |
[INFO] [stdout]  828 |           impl AsRef<$ucstr> for $ucstr {
[INFO] [stdout]      |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `AsRef<U16CStr>`
[INFO] [stdout] ...
[INFO] [stdout]  835 |           impl AsRef<[$uchar]> for $ucstr {
[INFO] [stdout]      |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `AsRef<[u16]>`
[INFO] [stdout] ...
[INFO] [stdout]  842 |           impl AsRef<$ustr> for $ucstr {
[INFO] [stdout]      |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `AsRef<U16Str>`
[INFO] [stdout] ...
[INFO] [stdout]  939 | / ucstr_common_impl! {
[INFO] [stdout]  940 | |     /// C-style 16-bit wide string slice for [`U16CString`][crate::U16CString].
[INFO] [stdout]  941 | |     ///
[INFO] [stdout]  942 | |     /// [`U16CStr`] is to [`U16CString`][crate::U16CString] as [`CStr`][std::ffi::CStr] is to
[INFO] [stdout] ...    |
[INFO] [stdout] 1107 | |     fn display() -> {}
[INFO] [stdout] 1108 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: required for `U32CString` to implement `From<&U16CStr>`
[INFO] [stdout]      = note: required for `&U16CStr` to implement `Into<U32CString>`
[INFO] [stdout] note: required by a bound in `Utf32String::from_ucstring`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/widestring-1.1.0/src/utfstring.rs:2144:34
[INFO] [stdout]      |
[INFO] [stdout] 1840 | impl Utf32String {
[INFO] [stdout] ...
[INFO] [stdout] 2144 |     pub fn from_ucstring(s: impl Into<crate::U32CString>) -> Result<Self, Utf32Error> {
[INFO] [stdout]      |                                  ^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `Utf32String::from_ucstring`
[INFO] [stdout]      = note: this error originates in the macro `ucstr_common_impl` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `U16CStr: AsRef<U32CStr>` is not satisfied
[INFO] [stdout]     --> src/app/push.rs:181:92
[INFO] [stdout]      |
[INFO] [stdout]  181 | ...).find(|&dir| WideUtfString::from_ucstring(dir.name()).unwrap().to_lowercase().contains("sd card".into())) {
[INFO] [stdout]      |                  ---------------------------- ^^^^^^^^^^ the trait `AsRef<U32CStr>` is not implemented for `U16CStr`
[INFO] [stdout]      |                  |
[INFO] [stdout]      |                  required by a bound introduced by this call
[INFO] [stdout]      |
[INFO] [stdout] help: `U16CStr` implements trait `AsRef<T>`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/widestring-1.1.0/src/ucstr.rs:828:9
[INFO] [stdout]      |
[INFO] [stdout]  828 |           impl AsRef<$ucstr> for $ucstr {
[INFO] [stdout]      |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `AsRef<U16CStr>`
[INFO] [stdout] ...
[INFO] [stdout]  835 |           impl AsRef<[$uchar]> for $ucstr {
[INFO] [stdout]      |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `AsRef<[u16]>`
[INFO] [stdout] ...
[INFO] [stdout]  842 |           impl AsRef<$ustr> for $ucstr {
[INFO] [stdout]      |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `AsRef<U16Str>`
[INFO] [stdout] ...
[INFO] [stdout]  939 | / ucstr_common_impl! {
[INFO] [stdout]  940 | |     /// C-style 16-bit wide string slice for [`U16CString`][crate::U16CString].
[INFO] [stdout]  941 | |     ///
[INFO] [stdout]  942 | |     /// [`U16CStr`] is to [`U16CString`][crate::U16CString] as [`CStr`][std::ffi::CStr] is to
[INFO] [stdout] ...    |
[INFO] [stdout] 1107 | |     fn display() -> {}
[INFO] [stdout] 1108 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: required for `U32CString` to implement `From<&U16CStr>`
[INFO] [stdout]      = note: required for `&U16CStr` to implement `Into<U32CString>`
[INFO] [stdout] note: required by a bound in `Utf32String::from_ucstring`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/widestring-1.1.0/src/utfstring.rs:2144:34
[INFO] [stdout]      |
[INFO] [stdout] 1840 | impl Utf32String {
[INFO] [stdout] ...
[INFO] [stdout] 2144 |     pub fn from_ucstring(s: impl Into<crate::U32CString>) -> Result<Self, Utf32Error> {
[INFO] [stdout]      |                                  ^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `Utf32String::from_ucstring`
[INFO] [stdout]      = note: this error originates in the macro `ucstr_common_impl` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `contains` found for struct `Utf32String` in the current scope
[INFO] [stdout]    --> src/app/push.rs:181:128
[INFO] [stdout]     |
[INFO] [stdout] 181 | ...string(dir.name()).unwrap().to_lowercase().contains("sd card".into())) {
[INFO] [stdout]     |                                               ^^^^^^^^ method not found in `Utf32String`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout] note: `StringExts` defines an item `contains`, perhaps you need to implement it
[INFO] [stdout]    --> src/string_parsing.rs:5:1
[INFO] [stdout]     |
[INFO] [stdout]   5 | pub trait StringExts<T, Slice: ?Sized> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `contains` found for struct `Utf32String` in the current scope
[INFO] [stdout]    --> src/app/push.rs:181:128
[INFO] [stdout]     |
[INFO] [stdout] 181 | ...string(dir.name()).unwrap().to_lowercase().contains("sd card".into())) {
[INFO] [stdout]     |                                               ^^^^^^^^ method not found in `Utf32String`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout] note: `StringExts` defines an item `contains`, perhaps you need to implement it
[INFO] [stdout]    --> src/string_parsing.rs:5:1
[INFO] [stdout]     |
[INFO] [stdout]   5 | pub trait StringExts<T, Slice: ?Sized> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `U16CStr: AsRef<U32CStr>` is not satisfied
[INFO] [stdout]     --> src/app/push.rs:188:103
[INFO] [stdout]      |
[INFO] [stdout]  188 | ...)?.find(|dir| WideUtfString::from_ucstring(dir.name()).unwrap().eq_ignore_case("Music".into())) {
[INFO] [stdout]      |                  ---------------------------- ^^^^^^^^^^ the trait `AsRef<U32CStr>` is not implemented for `U16CStr`
[INFO] [stdout]      |                  |
[INFO] [stdout]      |                  required by a bound introduced by this call
[INFO] [stdout]      |
[INFO] [stdout] help: `U16CStr` implements trait `AsRef<T>`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/widestring-1.1.0/src/ucstr.rs:828:9
[INFO] [stdout]      |
[INFO] [stdout]  828 |           impl AsRef<$ucstr> for $ucstr {
[INFO] [stdout]      |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `AsRef<U16CStr>`
[INFO] [stdout] ...
[INFO] [stdout]  835 |           impl AsRef<[$uchar]> for $ucstr {
[INFO] [stdout]      |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `AsRef<[u16]>`
[INFO] [stdout] ...
[INFO] [stdout]  842 |           impl AsRef<$ustr> for $ucstr {
[INFO] [stdout]      |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `AsRef<U16Str>`
[INFO] [stdout] ...
[INFO] [stdout]  939 | / ucstr_common_impl! {
[INFO] [stdout]  940 | |     /// C-style 16-bit wide string slice for [`U16CString`][crate::U16CString].
[INFO] [stdout]  941 | |     ///
[INFO] [stdout]  942 | |     /// [`U16CStr`] is to [`U16CString`][crate::U16CString] as [`CStr`][std::ffi::CStr] is to
[INFO] [stdout] ...    |
[INFO] [stdout] 1107 | |     fn display() -> {}
[INFO] [stdout] 1108 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: required for `U32CString` to implement `From<&U16CStr>`
[INFO] [stdout]      = note: required for `&U16CStr` to implement `Into<U32CString>`
[INFO] [stdout] note: required by a bound in `Utf32String::from_ucstring`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/widestring-1.1.0/src/utfstring.rs:2144:34
[INFO] [stdout]      |
[INFO] [stdout] 1840 | impl Utf32String {
[INFO] [stdout] ...
[INFO] [stdout] 2144 |     pub fn from_ucstring(s: impl Into<crate::U32CString>) -> Result<Self, Utf32Error> {
[INFO] [stdout]      |                                  ^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `Utf32String::from_ucstring`
[INFO] [stdout]      = note: this error originates in the macro `ucstr_common_impl` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `U16CStr: AsRef<U32CStr>` is not satisfied
[INFO] [stdout]     --> src/app/push.rs:188:103
[INFO] [stdout]      |
[INFO] [stdout]  188 | ...)?.find(|dir| WideUtfString::from_ucstring(dir.name()).unwrap().eq_ignore_case("Music".into())) {
[INFO] [stdout]      |                  ---------------------------- ^^^^^^^^^^ the trait `AsRef<U32CStr>` is not implemented for `U16CStr`
[INFO] [stdout]      |                  |
[INFO] [stdout]      |                  required by a bound introduced by this call
[INFO] [stdout]      |
[INFO] [stdout] help: `U16CStr` implements trait `AsRef<T>`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/widestring-1.1.0/src/ucstr.rs:828:9
[INFO] [stdout]      |
[INFO] [stdout]  828 |           impl AsRef<$ucstr> for $ucstr {
[INFO] [stdout]      |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `AsRef<U16CStr>`
[INFO] [stdout] ...
[INFO] [stdout]  835 |           impl AsRef<[$uchar]> for $ucstr {
[INFO] [stdout]      |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `AsRef<[u16]>`
[INFO] [stdout] ...
[INFO] [stdout]  842 |           impl AsRef<$ustr> for $ucstr {
[INFO] [stdout]      |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `AsRef<U16Str>`
[INFO] [stdout] ...
[INFO] [stdout]  939 | / ucstr_common_impl! {
[INFO] [stdout]  940 | |     /// C-style 16-bit wide string slice for [`U16CString`][crate::U16CString].
[INFO] [stdout]  941 | |     ///
[INFO] [stdout]  942 | |     /// [`U16CStr`] is to [`U16CString`][crate::U16CString] as [`CStr`][std::ffi::CStr] is to
[INFO] [stdout] ...    |
[INFO] [stdout] 1107 | |     fn display() -> {}
[INFO] [stdout] 1108 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: required for `U32CString` to implement `From<&U16CStr>`
[INFO] [stdout]      = note: required for `&U16CStr` to implement `Into<U32CString>`
[INFO] [stdout] note: required by a bound in `Utf32String::from_ucstring`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/widestring-1.1.0/src/utfstring.rs:2144:34
[INFO] [stdout]      |
[INFO] [stdout] 1840 | impl Utf32String {
[INFO] [stdout] ...
[INFO] [stdout] 2144 |     pub fn from_ucstring(s: impl Into<crate::U32CString>) -> Result<Self, Utf32Error> {
[INFO] [stdout]      |                                  ^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `Utf32String::from_ucstring`
[INFO] [stdout]      = note: this error originates in the macro `ucstr_common_impl` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `eq_ignore_case` found for struct `Utf32String` in the current scope
[INFO] [stdout]    --> src/app/push.rs:188:124
[INFO] [stdout]     |
[INFO] [stdout] 188 | ...ing::from_ucstring(dir.name()).unwrap().eq_ignore_case("Music".into())) {
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^ method not found in `Utf32String`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout] note: `StringExts` defines an item `eq_ignore_case`, perhaps you need to implement it
[INFO] [stdout]    --> src/string_parsing.rs:5:1
[INFO] [stdout]     |
[INFO] [stdout]   5 | pub trait StringExts<T, Slice: ?Sized> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `eq_ignore_case` found for struct `Utf32String` in the current scope
[INFO] [stdout]    --> src/app/push.rs:188:124
[INFO] [stdout]     |
[INFO] [stdout] 188 | ...ing::from_ucstring(dir.name()).unwrap().eq_ignore_case("Music".into())) {
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^ method not found in `Utf32String`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout] note: `StringExts` defines an item `eq_ignore_case`, perhaps you need to implement it
[INFO] [stdout]    --> src/string_parsing.rs:5:1
[INFO] [stdout]     |
[INFO] [stdout]   5 | pub trait StringExts<T, Slice: ?Sized> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `from_os_string` found for struct `Utf32String` in the current scope
[INFO] [stdout]     --> src/app/push.rs:208:44
[INFO] [stdout]      |
[INFO] [stdout]  208 |             let file_name = WideUtfString::from_os_string(local_file.file_name())?;
[INFO] [stdout]      |                                            ^^^^^^^^^^^^^^ associated function or constant not found in `Utf32String`
[INFO] [stdout]      |
[INFO] [stdout] note: if you're trying to build a new `Utf32String` consider using one of the following associated functions:
[INFO] [stdout]       Utf32String::new
[INFO] [stdout]       Utf32String::with_capacity
[INFO] [stdout]       Utf32String::from_vec_unchecked
[INFO] [stdout]       Utf32String::from_str
[INFO] [stdout]       and 6 others
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/widestring-1.1.0/src/utfstring.rs:70:13
[INFO] [stdout]      |
[INFO] [stdout]   70 |               pub const fn new() -> Self {
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]   86 |               pub fn with_capacity(capacity: usize) -> Self {
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]   95 |               pub unsafe fn from_vec_unchecked(v: impl Into<Vec<$uchar>>) -> Self {
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  103 |               pub fn from_str<S: AsRef<str> + ?Sized>(s: &S) -> Self {
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1001 | / utfstring_common_impl! {
[INFO] [stdout] 1002 | |     /// A UTF-32 encoded, growable owned string.
[INFO] [stdout] 1003 | |     ///
[INFO] [stdout] 1004 | |     /// [`Utf32String`] is a version of [`String`] that uses UTF-32 encoding instead of UTF-8
[INFO] [stdout] ...    |
[INFO] [stdout] 1108 | |     fn as_mut_vec() -> {}
[INFO] [stdout] 1109 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout] note: `StringExts` defines an item `from_os_string`, perhaps you need to implement it
[INFO] [stdout]     --> src/string_parsing.rs:5:1
[INFO] [stdout]      |
[INFO] [stdout]    5 | pub trait StringExts<T, Slice: ?Sized> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: this error originates in the macro `utfstring_common_impl` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: there is an associated function `from_str` with a similar name
[INFO] [stdout]      |
[INFO] [stdout]  208 -             let file_name = WideUtfString::from_os_string(local_file.file_name())?;
[INFO] [stdout]  208 +             let file_name = WideUtfString::from_str(local_file.file_name())?;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `from_os_string` found for struct `Utf32String` in the current scope
[INFO] [stdout]     --> src/app/push.rs:208:44
[INFO] [stdout]      |
[INFO] [stdout]  208 |             let file_name = WideUtfString::from_os_string(local_file.file_name())?;
[INFO] [stdout]      |                                            ^^^^^^^^^^^^^^ associated function or constant not found in `Utf32String`
[INFO] [stdout]      |
[INFO] [stdout] note: if you're trying to build a new `Utf32String` consider using one of the following associated functions:
[INFO] [stdout]       Utf32String::new
[INFO] [stdout]       Utf32String::with_capacity
[INFO] [stdout]       Utf32String::from_vec_unchecked
[INFO] [stdout]       Utf32String::from_str
[INFO] [stdout]       and 6 others
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/widestring-1.1.0/src/utfstring.rs:70:13
[INFO] [stdout]      |
[INFO] [stdout]   70 |               pub const fn new() -> Self {
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]   86 |               pub fn with_capacity(capacity: usize) -> Self {
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]   95 |               pub unsafe fn from_vec_unchecked(v: impl Into<Vec<$uchar>>) -> Self {
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  103 |               pub fn from_str<S: AsRef<str> + ?Sized>(s: &S) -> Self {
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1001 | / utfstring_common_impl! {
[INFO] [stdout] 1002 | |     /// A UTF-32 encoded, growable owned string.
[INFO] [stdout] 1003 | |     ///
[INFO] [stdout] 1004 | |     /// [`Utf32String`] is a version of [`String`] that uses UTF-32 encoding instead of UTF-8
[INFO] [stdout] ...    |
[INFO] [stdout] 1108 | |     fn as_mut_vec() -> {}
[INFO] [stdout] 1109 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout] note: `StringExts` defines an item `from_os_string`, perhaps you need to implement it
[INFO] [stdout]     --> src/string_parsing.rs:5:1
[INFO] [stdout]      |
[INFO] [stdout]    5 | pub trait StringExts<T, Slice: ?Sized> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: this error originates in the macro `utfstring_common_impl` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: there is an associated function `from_str` with a similar name
[INFO] [stdout]      |
[INFO] [stdout]  208 -             let file_name = WideUtfString::from_os_string(local_file.file_name())?;
[INFO] [stdout]  208 +             let file_name = WideUtfString::from_str(local_file.file_name())?;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> src/app/push.rs:224:52
[INFO] [stdout]      |
[INFO] [stdout]  224 |             let file_name = WideUtfStr::from_ucstr(remote_file.name())?.to_owned();
[INFO] [stdout]      |                             ---------------------- ^^^^^^^^^^^^^^^^^^ expected `&U32CStr`, found `&U16CStr`
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             arguments to this function are incorrect
[INFO] [stdout]      |
[INFO] [stdout]      = note: expected reference `&U32CStr`
[INFO] [stdout]                 found reference `&U16CStr`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/widestring-1.1.0/src/utfstr.rs:1691:12
[INFO] [stdout]      |
[INFO] [stdout] 1691 |     pub fn from_ucstr(s: &crate::U32CStr) -> Result<&Self, Utf32Error> {
[INFO] [stdout]      |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> src/app/push.rs:224:52
[INFO] [stdout]      |
[INFO] [stdout]  224 |             let file_name = WideUtfStr::from_ucstr(remote_file.name())?.to_owned();
[INFO] [stdout]      |                             ---------------------- ^^^^^^^^^^^^^^^^^^ expected `&U32CStr`, found `&U16CStr`
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             arguments to this function are incorrect
[INFO] [stdout]      |
[INFO] [stdout]      = note: expected reference `&U32CStr`
[INFO] [stdout]                 found reference `&U16CStr`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/widestring-1.1.0/src/utfstr.rs:1691:12
[INFO] [stdout]      |
[INFO] [stdout] 1691 |     pub fn from_ucstr(s: &crate::U32CStr) -> Result<&Self, Utf32Error> {
[INFO] [stdout]      |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `?` couldn't convert the error to `error::Error`
[INFO] [stdout]    --> src/app/push.rs:224:71
[INFO] [stdout]     |
[INFO] [stdout] 224 |             let file_name = WideUtfStr::from_ucstr(remote_file.name())?.to_owned();
[INFO] [stdout]     |                             ------------------------------------------^ the trait `From<Utf32Error>` is not implemented for `error::Error`
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             this can't be annotated with `?` because it has type `Result<_, Utf32Error>`
[INFO] [stdout]     |
[INFO] [stdout] note: `error::Error` needs to implement `From<Utf32Error>`
[INFO] [stdout]    --> src/error.rs:5:1
[INFO] [stdout]     |
[INFO] [stdout]   5 | 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]     = help: `error::Error` implements trait `From<T>`:
[INFO] [stdout]               From<CreateFolderError>
[INFO] [stdout]               From<MtpError>
[INFO] [stdout]               From<WindowsError>
[INFO] [stdout]               From<serde_json::Error>
[INFO] [stdout]               From<std::io::Error>
[INFO] [stdout]               From<widestring::error::Utf16Error>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `?` couldn't convert the error to `error::Error`
[INFO] [stdout]    --> src/app/push.rs:224:71
[INFO] [stdout]     |
[INFO] [stdout] 224 |             let file_name = WideUtfStr::from_ucstr(remote_file.name())?.to_owned();
[INFO] [stdout]     |                             ------------------------------------------^ the trait `From<Utf32Error>` is not implemented for `error::Error`
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             this can't be annotated with `?` because it has type `Result<_, Utf32Error>`
[INFO] [stdout]     |
[INFO] [stdout] note: `error::Error` needs to implement `From<Utf32Error>`
[INFO] [stdout]    --> src/error.rs:5:1
[INFO] [stdout]     |
[INFO] [stdout]   5 | 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]     = help: `error::Error` implements trait `From<T>`:
[INFO] [stdout]               From<CreateFolderError>
[INFO] [stdout]               From<MtpError>
[INFO] [stdout]               From<WindowsError>
[INFO] [stdout]               From<serde_json::Error>
[INFO] [stdout]               From<std::io::Error>
[INFO] [stdout]               From<widestring::error::Utf16Error>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `ends_with` found for struct `Utf32String` in the current scope
[INFO] [stdout]    --> src/app/push.rs:227:27
[INFO] [stdout]     |
[INFO] [stdout] 227 |             if !file_name.ends_with(FILE_EXT.into()) {
[INFO] [stdout]     |                           ^^^^^^^^^ method not found in `Utf32String`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout] note: `StringExts` defines an item `ends_with`, perhaps you need to implement it
[INFO] [stdout]    --> src/string_parsing.rs:5:1
[INFO] [stdout]     |
[INFO] [stdout]   5 | pub trait StringExts<T, Slice: ?Sized> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `ends_with` found for struct `Utf32String` in the current scope
[INFO] [stdout]    --> src/app/push.rs:227:27
[INFO] [stdout]     |
[INFO] [stdout] 227 |             if !file_name.ends_with(FILE_EXT.into()) {
[INFO] [stdout]     |                           ^^^^^^^^^ method not found in `Utf32String`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout] note: `StringExts` defines an item `ends_with`, perhaps you need to implement it
[INFO] [stdout]    --> src/string_parsing.rs:5:1
[INFO] [stdout]     |
[INFO] [stdout]   5 | pub trait StringExts<T, Slice: ?Sized> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `from_os_string` found for struct `Utf32String` in the current scope
[INFO] [stdout]     --> src/app/manifest.rs:53:44
[INFO] [stdout]      |
[INFO] [stdout]   53 |             let file_name = WideUtfString::from_os_string(file_entry.file_name()).unwrap();
[INFO] [stdout]      |                                            ^^^^^^^^^^^^^^ associated function or constant not found in `Utf32String`
[INFO] [stdout]      |
[INFO] [stdout] note: if you're trying to build a new `Utf32String` consider using one of the following associated functions:
[INFO] [stdout]       Utf32String::new
[INFO] [stdout]       Utf32String::with_capacity
[INFO] [stdout]       Utf32String::from_vec_unchecked
[INFO] [stdout]       Utf32String::from_str
[INFO] [stdout]       and 6 others
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/widestring-1.1.0/src/utfstring.rs:70:13
[INFO] [stdout]      |
[INFO] [stdout]   70 |               pub const fn new() -> Self {
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]   86 |               pub fn with_capacity(capacity: usize) -> Self {
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]   95 |               pub unsafe fn from_vec_unchecked(v: impl Into<Vec<$uchar>>) -> Self {
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  103 |               pub fn from_str<S: AsRef<str> + ?Sized>(s: &S) -> Self {
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1001 | / utfstring_common_impl! {
[INFO] [stdout] 1002 | |     /// A UTF-32 encoded, growable owned string.
[INFO] [stdout] 1003 | |     ///
[INFO] [stdout] 1004 | |     /// [`Utf32String`] is a version of [`String`] that uses UTF-32 encoding instead of UTF-8
[INFO] [stdout] ...    |
[INFO] [stdout] 1108 | |     fn as_mut_vec() -> {}
[INFO] [stdout] 1109 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout] note: `StringExts` defines an item `from_os_string`, perhaps you need to implement it
[INFO] [stdout]     --> src/string_parsing.rs:5:1
[INFO] [stdout]      |
[INFO] [stdout]    5 | pub trait StringExts<T, Slice: ?Sized> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: this error originates in the macro `utfstring_common_impl` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: there is an associated function `from_str` with a similar name
[INFO] [stdout]      |
[INFO] [stdout]   53 -             let file_name = WideUtfString::from_os_string(file_entry.file_name()).unwrap();
[INFO] [stdout]   53 +             let file_name = WideUtfString::from_str(file_entry.file_name()).unwrap();
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `from_os_string` found for struct `Utf32String` in the current scope
[INFO] [stdout]     --> src/app/manifest.rs:53:44
[INFO] [stdout]      |
[INFO] [stdout]   53 |             let file_name = WideUtfString::from_os_string(file_entry.file_name()).unwrap();
[INFO] [stdout]      |                                            ^^^^^^^^^^^^^^ associated function or constant not found in `Utf32String`
[INFO] [stdout]      |
[INFO] [stdout] note: if you're trying to build a new `Utf32String` consider using one of the following associated functions:
[INFO] [stdout]       Utf32String::new
[INFO] [stdout]       Utf32String::with_capacity
[INFO] [stdout]       Utf32String::from_vec_unchecked
[INFO] [stdout]       Utf32String::from_str
[INFO] [stdout]       and 6 others
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/widestring-1.1.0/src/utfstring.rs:70:13
[INFO] [stdout]      |
[INFO] [stdout]   70 |               pub const fn new() -> Self {
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]   86 |               pub fn with_capacity(capacity: usize) -> Self {
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]   95 |               pub unsafe fn from_vec_unchecked(v: impl Into<Vec<$uchar>>) -> Self {
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  103 |               pub fn from_str<S: AsRef<str> + ?Sized>(s: &S) -> Self {
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1001 | / utfstring_common_impl! {
[INFO] [stdout] 1002 | |     /// A UTF-32 encoded, growable owned string.
[INFO] [stdout] 1003 | |     ///
[INFO] [stdout] 1004 | |     /// [`Utf32String`] is a version of [`String`] that uses UTF-32 encoding instead of UTF-8
[INFO] [stdout] ...    |
[INFO] [stdout] 1108 | |     fn as_mut_vec() -> {}
[INFO] [stdout] 1109 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout] note: `StringExts` defines an item `from_os_string`, perhaps you need to implement it
[INFO] [stdout]     --> src/string_parsing.rs:5:1
[INFO] [stdout]      |
[INFO] [stdout]    5 | pub trait StringExts<T, Slice: ?Sized> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: this error originates in the macro `utfstring_common_impl` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: there is an associated function `from_str` with a similar name
[INFO] [stdout]      |
[INFO] [stdout]   53 -             let file_name = WideUtfString::from_os_string(file_entry.file_name()).unwrap();
[INFO] [stdout]   53 +             let file_name = WideUtfString::from_str(file_entry.file_name()).unwrap();
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0308, E0433, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `pl-update` (bin "pl-update") due to 14 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] Some errors have detailed explanations: E0277, E0308, E0433, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `pl-update` (bin "pl-update" test) due to 14 previous errors
[INFO] [stderr] warning: unused dependency `blocking`
[INFO] [stderr]  --> Cargo.toml:2:1
[INFO] [stderr]   |
[INFO] [stderr] 2 | blocking = "1.4.0"
[INFO] [stderr]   | ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `blocking`
[INFO] [stderr] warning: unused dependency `regex`
[INFO] [stderr]  --> Cargo.toml:6:1
[INFO] [stderr]   |
[INFO] [stderr] 6 | regex = "1.10.5"
[INFO] [stderr]   | ^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr] help: consider removing the dependency on `regex`
[INFO] [stderr] warning: `pl-update` (manifest) generated 2 warnings
[INFO] running `Command { std: "docker" "inspect" "e108cdc4c899b185cf5c8783e51ae6bdf06f2f878260a12cbd90bf818c2ec113", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e108cdc4c899b185cf5c8783e51ae6bdf06f2f878260a12cbd90bf818c2ec113", kill_on_drop: false }`
[INFO] [stdout] e108cdc4c899b185cf5c8783e51ae6bdf06f2f878260a12cbd90bf818c2ec113
