[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 8006091eb71ae7d9e9bccb66c6122c9d68af4466 for pr-129249-3
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdavid-cattermole%2Ftimetracker" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-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-0-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/david-cattermole/timetracker on toolchain 8006091eb71ae7d9e9bccb66c6122c9d68af4466
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8006091eb71ae7d9e9bccb66c6122c9d68af4466" "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" "+8006091eb71ae7d9e9bccb66c6122c9d68af4466" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded phf_shared v0.11.2
[INFO] [stderr]   Downloaded phf_generator v0.11.2
[INFO] [stderr]   Downloaded phf_codegen v0.11.2
[INFO] [stderr]   Downloaded terminfo v0.8.0
[INFO] [stderr]   Downloaded phf v0.11.2
[INFO] [stderr]   Downloaded libredox v0.0.1
[INFO] [stderr]   Downloaded pathdiff v0.2.1
[INFO] [stderr]   Downloaded dirs v4.0.0
[INFO] [stderr]   Downloaded env_logger v0.11.2
[INFO] [stderr]   Downloaded thiserror-impl v1.0.57
[INFO] [stderr]   Downloaded shellexpand v3.1.0
[INFO] [stderr]   Downloaded wasm-bindgen-macro v0.2.91
[INFO] [stderr]   Downloaded wasm-bindgen-shared v0.2.91
[INFO] [stderr]   Downloaded redox_users v0.4.4
[INFO] [stderr]   Downloaded clap_derive v3.2.25
[INFO] [stderr]   Downloaded thiserror v1.0.57
[INFO] [stderr]   Downloaded wasm-bindgen-macro-support v0.2.91
[INFO] [stderr]   Downloaded ahash v0.8.8
[INFO] [stderr]   Downloaded cfg-expr v0.15.7
[INFO] [stderr]   Downloaded wasm-bindgen-backend v0.2.91
[INFO] [stderr]   Downloaded anyhow v1.0.79
[INFO] [stderr]   Downloaded target-lexicon v0.12.13
[INFO] [stderr]   Downloaded semver v1.0.21
[INFO] [stderr]   Downloaded config v0.14.0
[INFO] [stderr]   Downloaded indexmap v2.2.3
[INFO] [stderr]   Downloaded system-deps v6.2.0
[INFO] [stderr]   Downloaded js-sys v0.3.68
[INFO] [stderr]   Downloaded rusqlite v0.29.0
[INFO] [stderr]   Downloaded wasm-bindgen v0.2.91
[INFO] [stderr]   Downloaded chrono v0.4.34
[INFO] [stderr]   Downloaded regex v1.10.3
[INFO] [stderr]   Downloaded regex-automata v0.4.5
[INFO] [stderr]   Downloaded libsqlite3-sys v0.26.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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] 47b06384a3f57e38bcf53393ec64632334c8afc722603ee73fbb4daf6bde00a9
[INFO] running `Command { std: "docker" "start" "47b06384a3f57e38bcf53393ec64632334c8afc722603ee73fbb4daf6bde00a9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "47b06384a3f57e38bcf53393ec64632334c8afc722603ee73fbb4daf6bde00a9", 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" "47b06384a3f57e38bcf53393ec64632334c8afc722603ee73fbb4daf6bde00a9" "/opt/rustwide/cargo-home/bin/cargo" "+8006091eb71ae7d9e9bccb66c6122c9d68af4466" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "47b06384a3f57e38bcf53393ec64632334c8afc722603ee73fbb4daf6bde00a9", 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" "47b06384a3f57e38bcf53393ec64632334c8afc722603ee73fbb4daf6bde00a9" "/opt/rustwide/cargo-home/bin/cargo" "+8006091eb71ae7d9e9bccb66c6122c9d68af4466" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling serde v1.0.196
[INFO] [stderr]    Compiling heck v0.4.1
[INFO] [stderr]    Compiling hashbrown v0.14.3
[INFO] [stderr]    Compiling target-lexicon v0.12.13
[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]     Checking memchr v2.7.1
[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 bitflags v2.4.2
[INFO] [stderr]    Compiling libc v0.2.153
[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 indexmap v1.9.3
[INFO] [stderr]    Compiling num-traits v0.2.18
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]     Checking winnow v0.5.40
[INFO] [stderr]     Checking utf8parse v0.2.1
[INFO] [stderr]    Compiling phf_shared v0.11.2
[INFO] [stderr]     Checking option-ext v0.2.0
[INFO] [stderr]     Checking minimal-lexical v0.2.1
[INFO] [stderr]     Checking dirs-sys v0.4.1
[INFO] [stderr]     Checking anstyle-parse v0.2.3
[INFO] [stderr]     Checking dirs-sys v0.3.7
[INFO] [stderr]    Compiling slab v0.4.9
[INFO] [stderr]     Checking os_str_bytes v6.6.1
[INFO] [stderr]     Checking anstyle v1.0.6
[INFO] [stderr]     Checking hashbrown v0.12.3
[INFO] [stderr]    Compiling anyhow v1.0.79
[INFO] [stderr]     Checking log v0.4.20
[INFO] [stderr]     Checking anstyle-query v1.0.2
[INFO] [stderr]    Compiling jobserver v0.1.28
[INFO] [stderr]     Checking colorchoice v1.0.0
[INFO] [stderr]     Checking clap_lex v0.2.4
[INFO] [stderr]     Checking anstream v0.6.11
[INFO] [stderr]     Checking aho-corasick v1.1.2
[INFO] [stderr]    Compiling cc v1.0.83
[INFO] [stderr]    Compiling phf_generator v0.11.2
[INFO] [stderr]     Checking nom v7.1.3
[INFO] [stderr]    Compiling quote v1.0.35
[INFO] [stderr]    Compiling cfg-expr v0.15.7
[INFO] [stderr]    Compiling phf_codegen v0.11.2
[INFO] [stderr]    Compiling indexmap v2.2.3
[INFO] [stderr]     Checking dirs v4.0.0
[INFO] [stderr]     Checking phf v0.11.2
[INFO] [stderr]    Compiling terminfo v0.8.0
[INFO] [stderr]    Compiling syn v2.0.48
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]     Checking dirs v5.0.1
[INFO] [stderr]     Checking fallible-streaming-iterator v0.1.9
[INFO] [stderr]     Checking textwrap v0.16.0
[INFO] [stderr]     Checking hashlink v0.8.4
[INFO] [stderr]     Checking pathdiff v0.2.1
[INFO] [stderr]     Checking iana-time-zone v0.1.60
[INFO] [stderr]     Checking futures-core v0.3.30
[INFO] [stderr]     Checking humantime v2.1.0
[INFO] [stderr]     Checking fallible-iterator v0.2.0
[INFO] [stderr]     Checking shellexpand v3.1.0
[INFO] [stderr]    Compiling thiserror v1.0.57
[INFO] [stderr]     Checking pin-utils v0.1.0
[INFO] [stderr]     Checking futures-task v0.3.30
[INFO] [stderr]     Checking pin-project-lite v0.2.13
[INFO] [stderr]     Checking futures-channel v0.3.30
[INFO] [stderr]    Compiling semver v1.0.21
[INFO] [stderr]     Checking chrono v0.4.34
[INFO] [stderr]    Compiling gio v0.18.4
[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 x11 v2.21.0
[INFO] [stderr]    Compiling libsqlite3-sys v0.26.0
[INFO] [stderr]    Compiling timetracker-recorder v0.4.3 (/opt/rustwide/workdir/recorder-bin)
[INFO] [stderr]     Checking regex-automata v0.4.5
[INFO] [stderr]    Compiling rustc_version v0.4.0
[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]    Compiling num-derive v0.3.3
[INFO] [stderr]    Compiling clap_derive v3.2.25
[INFO] [stderr]     Checking regex v1.10.3
[INFO] [stderr]    Compiling toml_edit v0.19.15
[INFO] [stderr]     Checking env_filter v0.1.0
[INFO] [stderr]     Checking env_logger v0.11.2
[INFO] [stderr]    Compiling futures-macro v0.3.30
[INFO] [stderr]    Compiling serde_derive v1.0.196
[INFO] [stderr]    Compiling thiserror-impl v1.0.57
[INFO] [stderr]     Checking toml v0.8.2
[INFO] [stderr]     Checking futures-util v0.3.30
[INFO] [stderr]     Checking config v0.14.0
[INFO] [stderr]    Compiling proc-macro-crate v1.3.1
[INFO] [stderr]     Checking clap v3.2.25
[INFO] [stderr]    Compiling gtk3-macros v0.18.0
[INFO] [stderr]    Compiling proc-macro-crate v2.0.2
[INFO] [stderr]     Checking futures-executor v0.3.30
[INFO] [stderr]    Compiling system-deps v6.2.0
[INFO] [stderr]    Compiling glib-macros v0.18.5
[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] [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] [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 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 27s
[INFO] running `Command { std: "docker" "inspect" "47b06384a3f57e38bcf53393ec64632334c8afc722603ee73fbb4daf6bde00a9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "47b06384a3f57e38bcf53393ec64632334c8afc722603ee73fbb4daf6bde00a9", kill_on_drop: false }`
[INFO] [stdout] 47b06384a3f57e38bcf53393ec64632334c8afc722603ee73fbb4daf6bde00a9
