[INFO] cloning repository https://github.com/david-cattermole/timetracker
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/david-cattermole/timetracker" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdavid-cattermole%2Ftimetracker", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdavid-cattermole%2Ftimetracker'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 0a267e69b4109548e273536d62d769c2324fc4a8
[INFO] checking david-cattermole/timetracker against 28b6e691688c15cef4c60d9044274e7b84397870 for pr-162986
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdavid-cattermole%2Ftimetracker" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/david-cattermole/timetracker
[INFO] finished tweaking git repo https://github.com/david-cattermole/timetracker
[INFO] tweaked toml for git repo https://github.com/david-cattermole/timetracker written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/david-cattermole/timetracker on toolchain 28b6e691688c15cef4c60d9044274e7b84397870
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+28b6e691688c15cef4c60d9044274e7b84397870" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/david-cattermole/timetracker 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" "+28b6e691688c15cef4c60d9044274e7b84397870" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded thiserror-impl v1.0.57
[INFO] [stderr]   Downloaded redox_users v0.4.4
[INFO] [stderr]   Downloaded libredox v0.0.1
[INFO] [stderr]   Downloaded thiserror v1.0.57
[INFO] [stderr]   Downloaded terminfo v0.8.0
[INFO] [stderr]   Downloaded anstyle v1.0.6
[INFO] [stderr]   Downloaded hashlink v0.8.4
[INFO] [stderr]   Downloaded wasm-bindgen-shared v0.2.91
[INFO] [stderr]   Downloaded cfg-expr v0.15.7
[INFO] [stderr]   Downloaded jobserver v0.1.28
[INFO] [stderr]   Downloaded wasm-bindgen-macro v0.2.91
[INFO] [stderr]   Downloaded gtk3-macros v0.18.0
[INFO] [stderr]   Downloaded memoffset v0.9.0
[INFO] [stderr]   Downloaded shellexpand v3.1.0
[INFO] [stderr]   Downloaded wasm-bindgen-macro-support v0.2.91
[INFO] [stderr]   Downloaded system-deps v6.2.0
[INFO] [stderr]   Downloaded target-lexicon v0.12.13
[INFO] [stderr]   Downloaded env_logger v0.11.2
[INFO] [stderr]   Downloaded pathdiff v0.2.1
[INFO] [stderr]   Downloaded wasm-bindgen-backend v0.2.91
[INFO] [stderr]   Downloaded clap_derive v3.2.25
[INFO] [stderr]   Downloaded atk-sys v0.18.0
[INFO] [stderr]   Downloaded textwrap v0.16.0
[INFO] [stderr]   Downloaded atk v0.18.0
[INFO] [stderr]   Downloaded rusqlite v0.29.0
[INFO] [stderr]   Downloaded js-sys v0.3.68
[INFO] [stderr]   Downloaded gdk-sys v0.18.0
[INFO] [stderr]   Downloaded ahash v0.8.8
[INFO] [stderr]   Downloaded config v0.14.0
[INFO] [stderr]   Downloaded indexmap v2.2.3
[INFO] [stderr]   Downloaded gdk v0.18.0
[INFO] [stderr]   Downloaded gtk-sys v0.18.0
[INFO] [stderr]   Downloaded wasm-bindgen v0.2.91
[INFO] [stderr]   Downloaded chrono v0.4.34
[INFO] [stderr]   Downloaded gtk v0.18.1
[INFO] [stderr]   Downloaded libsqlite3-sys v0.26.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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] 440b080cd9737c328dc18ebaef867c0146029be1ac9ebb78ec2b5e70496d2b60
[INFO] running `Command { std: "docker" "start" "440b080cd9737c328dc18ebaef867c0146029be1ac9ebb78ec2b5e70496d2b60", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "440b080cd9737c328dc18ebaef867c0146029be1ac9ebb78ec2b5e70496d2b60", 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" "440b080cd9737c328dc18ebaef867c0146029be1ac9ebb78ec2b5e70496d2b60" "/opt/rustwide/cargo-home/bin/cargo" "+28b6e691688c15cef4c60d9044274e7b84397870" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "440b080cd9737c328dc18ebaef867c0146029be1ac9ebb78ec2b5e70496d2b60", 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" "440b080cd9737c328dc18ebaef867c0146029be1ac9ebb78ec2b5e70496d2b60" "/opt/rustwide/cargo-home/bin/cargo" "+28b6e691688c15cef4c60d9044274e7b84397870" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling serde v1.0.196
[INFO] [stderr]    Compiling pkg-config v0.3.30
[INFO] [stderr]    Compiling hashbrown v0.14.3
[INFO] [stderr]    Compiling libc v0.2.153
[INFO] [stderr]    Compiling equivalent v1.0.1
[INFO] [stderr]    Compiling winnow v0.5.40
[INFO] [stderr]    Compiling target-lexicon v0.12.13
[INFO] [stderr]    Compiling version_check v0.9.4
[INFO] [stderr]    Compiling smallvec v1.13.1
[INFO] [stderr]    Compiling version-compare v0.1.1
[INFO] [stderr]    Compiling proc-macro2 v1.0.78
[INFO] [stderr]    Compiling unicode-ident v1.0.12
[INFO] [stderr]     Checking memchr v2.7.1
[INFO] [stderr]     Checking bitflags v2.4.2
[INFO] [stderr]     Checking zerocopy v0.7.32
[INFO] [stderr]     Checking allocator-api2 v0.2.16
[INFO] [stderr]    Compiling siphasher v0.3.11
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]     Checking regex-syntax v0.8.2
[INFO] [stderr]    Compiling phf_shared v0.11.2
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling num-traits v0.2.18
[INFO] [stderr]    Compiling indexmap v1.9.3
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.4
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]    Compiling ahash v0.8.8
[INFO] [stderr]     Checking utf8parse v0.2.1
[INFO] [stderr]     Checking option-ext v0.2.0
[INFO] [stderr]     Checking minimal-lexical v0.2.1
[INFO] [stderr]     Checking anstyle-parse v0.2.3
[INFO] [stderr]     Checking aho-corasick v1.1.2
[INFO] [stderr]     Checking anstyle v1.0.6
[INFO] [stderr]     Checking nom v7.1.3
[INFO] [stderr]    Compiling indexmap v2.2.3
[INFO] [stderr]    Compiling cfg-expr v0.15.7
[INFO] [stderr]    Compiling quote v1.0.35
[INFO] [stderr]    Compiling jobserver v0.1.28
[INFO] [stderr]     Checking dirs-sys v0.4.1
[INFO] [stderr]     Checking dirs-sys v0.3.7
[INFO] [stderr]     Checking os_str_bytes v6.6.1
[INFO] [stderr]     Checking hashbrown v0.12.3
[INFO] [stderr]     Checking log v0.4.20
[INFO] [stderr]    Compiling syn v2.0.48
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling cc v1.0.83
[INFO] [stderr]    Compiling phf_generator v0.11.2
[INFO] [stderr]    Compiling phf_codegen v0.11.2
[INFO] [stderr]    Compiling terminfo v0.8.0
[INFO] [stderr]     Checking anstyle-query v1.0.2
[INFO] [stderr]     Checking colorchoice v1.0.0
[INFO] [stderr]    Compiling anyhow v1.0.79
[INFO] [stderr]     Checking anstream v0.6.11
[INFO] [stderr]     Checking clap_lex v0.2.4
[INFO] [stderr]     Checking dirs v4.0.0
[INFO] [stderr]     Checking dirs v5.0.1
[INFO] [stderr]     Checking phf v0.11.2
[INFO] [stderr]     Checking fallible-streaming-iterator v0.1.9
[INFO] [stderr]     Checking textwrap v0.16.0
[INFO] [stderr]     Checking pathdiff v0.2.1
[INFO] [stderr]     Checking hashlink v0.8.4
[INFO] [stderr]     Checking iana-time-zone v0.1.60
[INFO] [stderr]     Checking humantime v2.1.0
[INFO] [stderr]     Checking fallible-iterator v0.2.0
[INFO] [stderr]     Checking regex-automata v0.4.5
[INFO] [stderr]     Checking futures-core v0.3.30
[INFO] [stderr]     Checking shellexpand v3.1.0
[INFO] [stderr]     Checking futures-task v0.3.30
[INFO] [stderr]    Compiling thiserror v1.0.57
[INFO] [stderr]     Checking futures-channel v0.3.30
[INFO] [stderr]    Compiling semver v1.0.21
[INFO] [stderr]    Compiling gio v0.18.4
[INFO] [stderr]     Checking futures-io v0.3.30
[INFO] [stderr]     Checking colored v2.1.0
[INFO] [stderr]    Compiling memoffset v0.9.0
[INFO] [stderr]    Compiling once_cell v1.19.0
[INFO] [stderr]    Compiling gtk v0.18.1
[INFO] [stderr]    Compiling libsqlite3-sys v0.26.0
[INFO] [stderr]    Compiling rustc_version v0.4.0
[INFO] [stderr]    Compiling x11 v2.21.0
[INFO] [stderr]    Compiling timetracker-recorder v0.4.3 (/opt/rustwide/workdir/recorder-bin)
[INFO] [stderr]     Checking chrono v0.4.34
[INFO] [stderr]    Compiling field-offset v0.3.6
[INFO] [stderr]     Checking serde_spanned v0.6.5
[INFO] [stderr]     Checking toml_datetime v0.6.3
[INFO] [stderr]     Checking toml_edit v0.20.2
[INFO] [stderr]     Checking regex v1.10.3
[INFO] [stderr]    Compiling clap_derive v3.2.25
[INFO] [stderr]    Compiling num-derive v0.3.3
[INFO] [stderr]    Compiling serde_derive v1.0.196
[INFO] [stderr]    Compiling futures-macro v0.3.30
[INFO] [stderr]    Compiling thiserror-impl v1.0.57
[INFO] [stderr]     Checking env_filter v0.1.0
[INFO] [stderr]     Checking env_logger v0.11.2
[INFO] [stderr]    Compiling toml_edit v0.19.15
[INFO] [stderr]     Checking clap v3.2.25
[INFO] [stderr]     Checking futures-util v0.3.30
[INFO] [stderr]     Checking toml v0.8.2
[INFO] [stderr]     Checking config v0.14.0
[INFO] [stderr]     Checking futures-executor v0.3.30
[INFO] [stderr]    Compiling proc-macro-crate v2.0.2
[INFO] [stderr]    Compiling proc-macro-crate v1.3.1
[INFO] [stderr]    Compiling system-deps v6.2.0
[INFO] [stderr]    Compiling glib-macros v0.18.5
[INFO] [stderr]    Compiling gtk3-macros v0.18.0
[INFO] [stderr]    Compiling glib-sys v0.18.1
[INFO] [stderr]    Compiling gobject-sys v0.18.0
[INFO] [stderr]    Compiling gio-sys v0.18.1
[INFO] [stderr]    Compiling atk-sys v0.18.0
[INFO] [stderr]    Compiling pango-sys v0.18.0
[INFO] [stderr]    Compiling gdk-sys v0.18.0
[INFO] [stderr]    Compiling cairo-sys-rs v0.18.2
[INFO] [stderr]    Compiling gdk-pixbuf-sys v0.18.0
[INFO] [stderr]    Compiling gtk-sys v0.18.0
[INFO] [stderr]     Checking glib v0.18.5
[INFO] [stderr]     Checking rusqlite v0.29.0
[INFO] [stderr]     Checking timetracker-core v0.4.3 (/opt/rustwide/workdir/core)
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> core/src/entries.rs:12:53
[INFO] [stdout]    |
[INFO] [stdout] 12 | #[derive(Debug, Copy, Clone, PartialEq, PartialOrd, FromPrimitive, ToPrimitive)]
[INFO] [stdout]    |                                                     ^------------
[INFO] [stdout]    |                                                     |
[INFO] [stdout]    |                                                     `FromPrimitive` is not local
[INFO] [stdout]    |                                                     move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_EntryStatus`
[INFO] [stdout] 13 | pub enum EntryStatus {
[INFO] [stdout]    |          ----------- `EntryStatus` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]    = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> core/src/entries.rs:12:68
[INFO] [stdout]    |
[INFO] [stdout] 12 | #[derive(Debug, Copy, Clone, PartialEq, PartialOrd, FromPrimitive, ToPrimitive)]
[INFO] [stdout]    |                                                                    ^----------
[INFO] [stdout]    |                                                                    |
[INFO] [stdout]    |                                                                    `ToPrimitive` is not local
[INFO] [stdout]    |                                                                    move the `impl` block outside of this constant `_IMPL_NUM_ToPrimitive_FOR_EntryStatus`
[INFO] [stdout] 13 | pub enum EntryStatus {
[INFO] [stdout]    |          ----------- `EntryStatus` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `ToPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `ToPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `ToPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> core/src/entries.rs:12:53
[INFO] [stdout]    |
[INFO] [stdout] 12 | #[derive(Debug, Copy, Clone, PartialEq, PartialOrd, FromPrimitive, ToPrimitive)]
[INFO] [stdout]    |                                                     ^------------
[INFO] [stdout]    |                                                     |
[INFO] [stdout]    |                                                     `FromPrimitive` is not local
[INFO] [stdout]    |                                                     move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_EntryStatus`
[INFO] [stdout] 13 | pub enum EntryStatus {
[INFO] [stdout]    |          ----------- `EntryStatus` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]    = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> core/src/entries.rs:12:68
[INFO] [stdout]    |
[INFO] [stdout] 12 | #[derive(Debug, Copy, Clone, PartialEq, PartialOrd, FromPrimitive, ToPrimitive)]
[INFO] [stdout]    |                                                                    ^----------
[INFO] [stdout]    |                                                                    |
[INFO] [stdout]    |                                                                    `ToPrimitive` is not local
[INFO] [stdout]    |                                                                    move the `impl` block outside of this constant `_IMPL_NUM_ToPrimitive_FOR_EntryStatus`
[INFO] [stdout] 13 | pub enum EntryStatus {
[INFO] [stdout]    |          ----------- `EntryStatus` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `ToPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `ToPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `ToPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking timetracker-print-lib v0.4.3 (/opt/rustwide/workdir/print-lib)
[INFO] [stderr]     Checking timetracker-configure v0.4.3 (/opt/rustwide/workdir/configure-bin)
[INFO] [stderr]     Checking timetracker-print v0.4.3 (/opt/rustwide/workdir/print-bin)
[INFO] [stderr]     Checking timetracker-dump v0.4.3 (/opt/rustwide/workdir/dump-bin)
[INFO] [stderr]     Checking cairo-rs v0.18.5
[INFO] [stderr]     Checking atk v0.18.0
[INFO] [stderr]     Checking pango v0.18.3
[INFO] [stderr]     Checking gdk-pixbuf v0.18.5
[INFO] [stderr]     Checking gdk v0.18.0
[INFO] [stderr]     Checking timetracker-print-gui v0.4.3 (/opt/rustwide/workdir/print-gui-bin)
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> recorder-bin/src/main.rs:104:28
[INFO] [stdout]     |
[INFO] [stdout] 104 |             let mut data = ENTRY_BUFFER.lock().unwrap();
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable when borrowed with a shared reference
[INFO] [stdout]     |
[INFO] [stdout]  43 - static mut ENTRY_BUFFER: Lazy<Mutex<Vec<Entry>>> = Lazy::new(|| Mutex::new(vec![]));
[INFO] [stdout]  43 + static ENTRY_BUFFER: Lazy<Mutex<Vec<Entry>>> = Lazy::new(|| Mutex::new(vec![]));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> recorder-bin/src/main.rs:135:40
[INFO] [stdout]     |
[INFO] [stdout] 135 |     let database_file_path = unsafe { &CLEANUP_DATABASE_FILE_PATH.lock().unwrap() };
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable when borrowed with a shared reference
[INFO] [stdout]     |
[INFO] [stdout]  51 - static mut CLEANUP_DATABASE_FILE_PATH: Lazy<Mutex<PathBuf>> =
[INFO] [stdout]  51 + static CLEANUP_DATABASE_FILE_PATH: Lazy<Mutex<PathBuf>> =
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> recorder-bin/src/main.rs:161:46
[INFO] [stdout]     |
[INFO] [stdout] 161 |         let mut cleanup_database_file_path = CLEANUP_DATABASE_FILE_PATH.lock().unwrap();
[INFO] [stdout]     |                                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable when borrowed with a shared reference
[INFO] [stdout]     |
[INFO] [stdout]  51 - static mut CLEANUP_DATABASE_FILE_PATH: Lazy<Mutex<PathBuf>> =
[INFO] [stdout]  51 + static CLEANUP_DATABASE_FILE_PATH: Lazy<Mutex<PathBuf>> =
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: direct cast of function item into an integer
[INFO] [stdout]    --> recorder-bin/src/main.rs:167:56
[INFO] [stdout]     |
[INFO] [stdout] 167 |     install_signal_handler(libc::SIGINT, handle_signal as usize);
[INFO] [stdout]     |                                                        ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(function_casts_as_integer)]` on by default
[INFO] [stdout] help: first cast to a pointer `as *const ()`
[INFO] [stdout]     |
[INFO] [stdout] 167 |     install_signal_handler(libc::SIGINT, handle_signal as *const () as usize);
[INFO] [stdout]     |                                                        ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: direct cast of function item into an integer
[INFO] [stdout]    --> recorder-bin/src/main.rs:168:57
[INFO] [stdout]     |
[INFO] [stdout] 168 |     install_signal_handler(libc::SIGTERM, handle_signal as usize);
[INFO] [stdout]     |                                                         ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: first cast to a pointer `as *const ()`
[INFO] [stdout]     |
[INFO] [stdout] 168 |     install_signal_handler(libc::SIGTERM, handle_signal as *const () as usize);
[INFO] [stdout]     |                                                         ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> recorder-bin/src/main.rs:283:28
[INFO] [stdout]     |
[INFO] [stdout] 283 |             let mut data = ENTRY_BUFFER.lock().unwrap();
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable when borrowed with a shared reference
[INFO] [stdout]     |
[INFO] [stdout]  43 - static mut ENTRY_BUFFER: Lazy<Mutex<Vec<Entry>>> = Lazy::new(|| Mutex::new(vec![]));
[INFO] [stdout]  43 + static ENTRY_BUFFER: Lazy<Mutex<Vec<Entry>>> = Lazy::new(|| Mutex::new(vec![]));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> recorder-bin/src/main.rs:104:28
[INFO] [stdout]     |
[INFO] [stdout] 104 |             let mut data = ENTRY_BUFFER.lock().unwrap();
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable when borrowed with a shared reference
[INFO] [stdout]     |
[INFO] [stdout]  43 - static mut ENTRY_BUFFER: Lazy<Mutex<Vec<Entry>>> = Lazy::new(|| Mutex::new(vec![]));
[INFO] [stdout]  43 + static ENTRY_BUFFER: Lazy<Mutex<Vec<Entry>>> = Lazy::new(|| Mutex::new(vec![]));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> recorder-bin/src/main.rs:135:40
[INFO] [stdout]     |
[INFO] [stdout] 135 |     let database_file_path = unsafe { &CLEANUP_DATABASE_FILE_PATH.lock().unwrap() };
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable when borrowed with a shared reference
[INFO] [stdout]     |
[INFO] [stdout]  51 - static mut CLEANUP_DATABASE_FILE_PATH: Lazy<Mutex<PathBuf>> =
[INFO] [stdout]  51 + static CLEANUP_DATABASE_FILE_PATH: Lazy<Mutex<PathBuf>> =
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> recorder-bin/src/main.rs:161:46
[INFO] [stdout]     |
[INFO] [stdout] 161 |         let mut cleanup_database_file_path = CLEANUP_DATABASE_FILE_PATH.lock().unwrap();
[INFO] [stdout]     |                                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable when borrowed with a shared reference
[INFO] [stdout]     |
[INFO] [stdout]  51 - static mut CLEANUP_DATABASE_FILE_PATH: Lazy<Mutex<PathBuf>> =
[INFO] [stdout]  51 + static CLEANUP_DATABASE_FILE_PATH: Lazy<Mutex<PathBuf>> =
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: direct cast of function item into an integer
[INFO] [stdout]    --> recorder-bin/src/main.rs:167:56
[INFO] [stdout]     |
[INFO] [stdout] 167 |     install_signal_handler(libc::SIGINT, handle_signal as usize);
[INFO] [stdout]     |                                                        ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(function_casts_as_integer)]` on by default
[INFO] [stdout] help: first cast to a pointer `as *const ()`
[INFO] [stdout]     |
[INFO] [stdout] 167 |     install_signal_handler(libc::SIGINT, handle_signal as *const () as usize);
[INFO] [stdout]     |                                                        ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: direct cast of function item into an integer
[INFO] [stdout]    --> recorder-bin/src/main.rs:168:57
[INFO] [stdout]     |
[INFO] [stdout] 168 |     install_signal_handler(libc::SIGTERM, handle_signal as usize);
[INFO] [stdout]     |                                                         ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: first cast to a pointer `as *const ()`
[INFO] [stdout]     |
[INFO] [stdout] 168 |     install_signal_handler(libc::SIGTERM, handle_signal as *const () as usize);
[INFO] [stdout]     |                                                         ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> recorder-bin/src/main.rs:283:28
[INFO] [stdout]     |
[INFO] [stdout] 283 |             let mut data = ENTRY_BUFFER.lock().unwrap();
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable when borrowed with a shared reference
[INFO] [stdout]     |
[INFO] [stdout]  43 - static mut ENTRY_BUFFER: Lazy<Mutex<Vec<Entry>>> = Lazy::new(|| Mutex::new(vec![]));
[INFO] [stdout]  43 + static ENTRY_BUFFER: Lazy<Mutex<Vec<Entry>>> = Lazy::new(|| Mutex::new(vec![]));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] warning: unused dependency `env_logger`
[INFO] [stderr]   --> core/Cargo.toml:15:1
[INFO] [stderr]    |
[INFO] [stderr] 15 | env_logger = "0.11"
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `env_logger`
[INFO] [stderr] warning: `timetracker-core` (manifest) generated 1 warning
[INFO] [stderr] warning: unused dependency `cc`
[INFO] [stderr]   --> recorder-bin/Cargo.toml:28:1
[INFO] [stderr]    |
[INFO] [stderr] 28 | cc = { version = "1.0", features = ["parallel"] }
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `cc`
[INFO] [stderr] warning: unused dependency `pkg-config`
[INFO] [stderr]   --> recorder-bin/Cargo.toml:29:1
[INFO] [stderr]    |
[INFO] [stderr] 29 | pkg-config = "0.3"
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: consider removing the dependency on `pkg-config`
[INFO] [stderr] warning: `timetracker-recorder` (manifest) generated 2 warnings
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 39s
[INFO] running `Command { std: "docker" "inspect" "440b080cd9737c328dc18ebaef867c0146029be1ac9ebb78ec2b5e70496d2b60", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "440b080cd9737c328dc18ebaef867c0146029be1ac9ebb78ec2b5e70496d2b60", kill_on_drop: false }`
[INFO] [stdout] 440b080cd9737c328dc18ebaef867c0146029be1ac9ebb78ec2b5e70496d2b60
