[INFO] cloning repository https://github.com/dundd2/WIP-Racing-Dashboard [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/dundd2/WIP-Racing-Dashboard" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdundd2%2FWIP-Racing-Dashboard", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdundd2%2FWIP-Racing-Dashboard'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] f3df87e000e7455efae31c14accbb00cc502fc0b [INFO] checking dundd2/WIP-Racing-Dashboard/f3df87e000e7455efae31c14accbb00cc502fc0b against master#ff1737bb00913444173658b4e0b274fd79aabf66 for pr-132712-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdundd2%2FWIP-Racing-Dashboard" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/dundd2/WIP-Racing-Dashboard on toolchain ff1737bb00913444173658b4e0b274fd79aabf66 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ff1737bb00913444173658b4e0b274fd79aabf66" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/dundd2/WIP-Racing-Dashboard [INFO] finished tweaking git repo https://github.com/dundd2/WIP-Racing-Dashboard [INFO] tweaked toml for git repo https://github.com/dundd2/WIP-Racing-Dashboard written to /workspace/builds/worker-4-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/dundd2/WIP-Racing-Dashboard 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" "+ff1737bb00913444173658b4e0b274fd79aabf66" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded simplelog v0.12.2 [INFO] [stderr] Downloaded cc v1.1.36 [INFO] [stderr] Downloaded image v0.25.5 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4a844ea9eb2546a2d2c7022eacef16ef2e8229c7fbb2c7d4d55a9ceca922f72d" "/opt/rustwide/cargo-home/bin/cargo" "+ff1737bb00913444173658b4e0b274fd79aabf66" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 2905f3c93ad36ef0deea88391920fd8db238771984b633231fcf07db97a29c11 [INFO] running `Command { std: "docker" "start" "-a" "2905f3c93ad36ef0deea88391920fd8db238771984b633231fcf07db97a29c11", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "2905f3c93ad36ef0deea88391920fd8db238771984b633231fcf07db97a29c11", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2905f3c93ad36ef0deea88391920fd8db238771984b633231fcf07db97a29c11", kill_on_drop: false }` [INFO] [stdout] 2905f3c93ad36ef0deea88391920fd8db238771984b633231fcf07db97a29c11 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=allow" "-e" "RUSTDOCFLAGS=--cap-lints=allow" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4a844ea9eb2546a2d2c7022eacef16ef2e8229c7fbb2c7d4d55a9ceca922f72d" "/opt/rustwide/cargo-home/bin/cargo" "+ff1737bb00913444173658b4e0b274fd79aabf66" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 036bfea06cab33ba7f1a7fcc9d2b15ab8c57dc36fedd2521c26c89183770cee4 [INFO] running `Command { std: "docker" "start" "-a" "036bfea06cab33ba7f1a7fcc9d2b15ab8c57dc36fedd2521c26c89183770cee4", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.89 [INFO] [stderr] Compiling unicode-ident v1.0.13 [INFO] [stderr] Compiling autocfg v1.4.0 [INFO] [stderr] Checking once_cell v1.20.2 [INFO] [stderr] Compiling libc v0.2.162 [INFO] [stderr] Checking bitflags v2.6.0 [INFO] [stderr] Checking pin-project-lite v0.2.15 [INFO] [stderr] Compiling rustix v0.38.39 [INFO] [stderr] Checking log v0.4.22 [INFO] [stderr] Compiling serde v1.0.214 [INFO] [stderr] Checking smallvec v1.13.2 [INFO] [stderr] Compiling memchr v2.7.4 [INFO] [stderr] Compiling version_check v0.9.5 [INFO] [stderr] Compiling pkg-config v0.3.31 [INFO] [stderr] Compiling hashbrown v0.15.1 [INFO] [stderr] Compiling toml_datetime v0.6.8 [INFO] [stderr] Compiling quote v1.0.37 [INFO] [stderr] Compiling winnow v0.6.20 [INFO] [stderr] Compiling syn v2.0.87 [INFO] [stderr] Compiling slab v0.4.9 [INFO] [stderr] Checking libloading v0.8.5 [INFO] [stderr] Compiling crossbeam-utils v0.8.20 [INFO] [stderr] Compiling indexmap v2.6.0 [INFO] [stderr] Compiling cfg_aliases v0.2.1 [INFO] [stderr] Checking tracing-core v0.1.32 [INFO] [stderr] Checking parking v2.2.1 [INFO] [stderr] Checking byteorder v1.5.0 [INFO] [stderr] Checking dlib v0.5.2 [INFO] [stderr] Compiling wayland-sys v0.31.5 [INFO] [stderr] Checking futures-core v0.3.31 [INFO] [stderr] Checking concurrent-queue v2.5.0 [INFO] [stderr] Checking getrandom v0.2.15 [INFO] [stderr] Compiling cc v1.1.36 [INFO] [stderr] Checking futures-io v0.3.31 [INFO] [stderr] Compiling generic-array v0.14.7 [INFO] [stderr] Checking fastrand v2.1.1 [INFO] [stderr] Checking scoped-tls v1.0.1 [INFO] [stderr] Checking event-listener v5.3.1 [INFO] [stderr] Compiling quick-xml v0.36.2 [INFO] [stderr] Checking stable_deref_trait v1.2.0 [INFO] [stderr] Compiling wayland-client v0.31.7 [INFO] [stderr] Checking event-listener-strategy v0.5.2 [INFO] [stderr] Checking futures-lite v2.4.0 [INFO] [stderr] Compiling memoffset v0.9.1 [INFO] [stderr] Compiling static_assertions v1.1.0 [INFO] [stderr] Compiling thiserror v1.0.68 [INFO] [stderr] Compiling toml_edit v0.22.22 [INFO] [stderr] Compiling endi v1.1.0 [INFO] [stderr] Compiling wayland-scanner v0.31.5 [INFO] [stderr] Checking piper v0.2.4 [INFO] [stderr] Checking crypto-common v0.1.6 [INFO] [stderr] Checking block-buffer v0.10.4 [INFO] [stderr] Checking async-channel v2.3.1 [INFO] [stderr] Checking async-lock v3.4.0 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Compiling nix v0.29.0 [INFO] [stderr] Compiling khronos_api v3.1.0 [INFO] [stderr] Compiling wayland-backend v0.3.7 [INFO] [stderr] Checking blocking v1.6.1 [INFO] [stderr] Checking digest v0.10.7 [INFO] [stderr] Checking writeable v0.5.5 [INFO] [stderr] Checking ttf-parser v0.25.0 [INFO] [stderr] Checking futures-sink v0.3.31 [INFO] [stderr] Checking futures-task v0.3.31 [INFO] [stderr] Checking cpufeatures v0.2.14 [INFO] [stderr] Checking arrayvec v0.7.6 [INFO] [stderr] Checking litemap v0.7.3 [INFO] [stderr] Checking sha1 v0.10.6 [INFO] [stderr] Checking async-fs v2.1.2 [INFO] [stderr] Checking async-executor v1.13.1 [INFO] [stderr] Checking async-broadcast v0.7.1 [INFO] [stderr] Checking ordered-stream v0.2.0 [INFO] [stderr] Checking xdg-home v1.3.0 [INFO] [stderr] Compiling proc-macro-crate v3.2.0 [INFO] [stderr] Compiling ahash v0.8.11 [INFO] [stderr] Checking hex v0.4.3 [INFO] [stderr] Compiling xml-rs v0.8.23 [INFO] [stderr] Compiling x11-dl v2.21.0 [INFO] [stderr] Compiling lock_api v0.4.12 [INFO] [stderr] Checking icu_locid_transform_data v1.5.0 [INFO] [stderr] Checking xkeysym v0.2.1 [INFO] [stderr] Checking xcursor v0.3.8 [INFO] [stderr] Compiling smithay-client-toolkit v0.19.2 [INFO] [stderr] Compiling zvariant_utils v2.1.0 [INFO] [stderr] Compiling synstructure v0.13.1 [INFO] [stderr] Checking wayland-csd-frame v0.3.0 [INFO] [stderr] Checking memmap2 v0.9.5 [INFO] [stderr] Compiling gl_generator v0.14.0 [INFO] [stderr] Checking arrayref v0.3.9 [INFO] [stderr] Checking strict-num v0.1.1 [INFO] [stderr] Checking icu_properties_data v1.5.0 [INFO] [stderr] Checking accesskit v0.16.3 [INFO] [stderr] Checking owned_ttf_parser v0.25.0 [INFO] [stderr] Checking parking_lot_core v0.9.10 [INFO] [stderr] Checking ab_glyph v0.2.29 [INFO] [stderr] Checking utf16_iter v1.0.5 [INFO] [stderr] Checking x11rb-protocol v0.13.1 [INFO] [stderr] Checking icu_normalizer_data v1.5.0 [INFO] [stderr] Checking write16 v1.0.0 [INFO] [stderr] Checking utf8_iter v1.0.4 [INFO] [stderr] Checking parking_lot v0.12.3 [INFO] [stderr] Checking immutable-chunkmap v2.0.6 [INFO] [stderr] Compiling winit v0.30.5 [INFO] [stderr] Compiling glutin_egl_sys v0.7.0 [INFO] [stderr] Checking wayland-protocols v0.32.5 [INFO] [stderr] Checking wayland-cursor v0.31.7 [INFO] [stderr] Compiling glutin_glx_sys v0.6.0 [INFO] [stderr] Checking xkbcommon-dl v0.4.2 [INFO] [stderr] Checking accesskit_consumer v0.24.3 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Checking epaint_default_fonts v0.29.1 [INFO] [stderr] Compiling serde_derive v1.0.214 [INFO] [stderr] Compiling enumflags2_derive v0.7.10 [INFO] [stderr] Compiling tracing-attributes v0.1.27 [INFO] [stderr] Compiling zerocopy-derive v0.7.35 [INFO] [stderr] Compiling zvariant_derive v4.2.0 [INFO] [stderr] Compiling zerofrom-derive v0.1.4 [INFO] [stderr] Checking zerocopy v0.7.35 [INFO] [stderr] Compiling bytemuck_derive v1.8.0 [INFO] [stderr] Compiling yoke-derive v0.7.4 [INFO] [stderr] Checking tracing v0.1.40 [INFO] [stderr] Checking polling v3.7.4 [INFO] [stderr] Compiling zerovec-derive v0.10.3 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Checking zerofrom v0.1.4 [INFO] [stderr] Compiling thiserror-impl v1.0.68 [INFO] [stderr] Checking yoke v0.7.4 [INFO] [stderr] Checking ppv-lite86 v0.2.20 [INFO] [stderr] Compiling futures-macro v0.3.31 [INFO] [stderr] Checking bytemuck v1.19.0 [INFO] [stderr] Checking async-io v2.4.0 [INFO] [stderr] Checking zerovec v0.10.4 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Compiling serde_repr v0.1.19 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Compiling zbus_macros v4.4.0 [INFO] [stderr] Checking futures-util v0.3.31 [INFO] [stderr] Compiling async-trait v0.1.83 [INFO] [stderr] Compiling icu_provider_macros v1.5.0 [INFO] [stderr] Checking calloop v0.13.0 [INFO] [stderr] Checking tinystr v0.7.6 [INFO] [stderr] Checking icu_locid v1.5.0 [INFO] [stderr] Checking calloop-wayland-source v0.3.0 [INFO] [stderr] Checking icu_collections v1.5.0 [INFO] [stderr] Checking wayland-protocols-wlr v0.3.5 [INFO] [stderr] Checking icu_provider v1.5.0 [INFO] [stderr] Checking icu_locid_transform v1.5.0 [INFO] [stderr] Checking tiny-skia-path v0.11.4 [INFO] [stderr] Checking tiny-skia v0.11.4 [INFO] [stderr] Checking icu_properties v1.5.1 [INFO] [stderr] Checking enumflags2 v0.7.10 [INFO] [stderr] Checking quick-xml v0.30.0 [INFO] [stderr] Checking zvariant v4.2.0 [INFO] [stderr] Checking emath v0.29.1 [INFO] [stderr] Checking wayland-protocols-plasma v0.3.5 [INFO] [stderr] Checking sctk-adwaita v0.10.1 [INFO] [stderr] Checking ecolor v0.29.1 [INFO] [stderr] Checking nohash-hasher v0.2.0 [INFO] [stderr] Checking dpi v0.1.1 [INFO] [stderr] Checking miniz_oxide v0.8.0 [INFO] [stderr] Checking epaint v0.29.1 [INFO] [stderr] Checking icu_normalizer v1.5.0 [INFO] [stderr] Checking idna_adapter v1.2.0 [INFO] [stderr] Checking idna v1.0.3 [INFO] [stderr] Checking form_urlencoded v1.2.1 [INFO] [stderr] Compiling glutin v0.32.1 [INFO] [stderr] Checking flate2 v1.0.34 [INFO] [stderr] Checking egui v0.29.1 [INFO] [stderr] Checking zbus_names v3.0.0 [INFO] [stderr] Checking url v2.5.3 [INFO] [stderr] Checking fdeflate v0.3.6 [INFO] [stderr] Checking zbus_xml v4.0.0 [INFO] [stderr] Checking zbus v4.4.0 [INFO] [stderr] Checking zbus-lockstep v0.4.4 [INFO] [stderr] Compiling glutin-winit v0.5.0 [INFO] [stderr] Checking powerfmt v0.2.0 [INFO] [stderr] Compiling time-core v0.1.2 [INFO] [stderr] Compiling num-conv v0.1.0 [INFO] [stderr] Checking home v0.5.9 [INFO] [stderr] Checking png v0.17.14 [INFO] [stderr] Checking webbrowser v1.0.2 [INFO] [stderr] Compiling time-macros v0.2.18 [INFO] [stderr] Checking deranged v0.3.11 [INFO] [stderr] Checking smithay-clipboard v0.7.2 [INFO] [stderr] Checking x11rb v0.13.1 [INFO] [stderr] Checking glow v0.14.2 [INFO] [stderr] Checking num_threads v0.1.7 [INFO] [stderr] Compiling litrs v0.4.1 [INFO] [stderr] Checking byteorder-lite v0.1.0 [INFO] [stderr] Compiling winapi v0.3.9 [INFO] [stderr] Checking web-time v1.1.0 [INFO] [stderr] Compiling zbus-lockstep-macros v0.4.4 [INFO] [stderr] Checking time v0.3.36 [INFO] [stderr] Compiling document-features v0.2.10 [INFO] [stderr] Checking image v0.25.5 [INFO] [stderr] Checking iana-time-zone v0.1.61 [INFO] [stderr] Checking chrono v0.4.38 [INFO] [stderr] Checking arboard v3.4.1 [INFO] [stderr] Checking egui_glow v0.29.1 [INFO] [stderr] Checking simplelog v0.12.2 [INFO] [stderr] Checking atspi-common v0.6.0 [INFO] [stderr] Checking atspi-proxies v0.6.0 [INFO] [stderr] Checking accesskit_atspi_common v0.9.3 [INFO] [stderr] Checking atspi-connection v0.6.0 [INFO] [stderr] Checking atspi v0.22.0 [INFO] [stderr] Checking accesskit_unix v0.12.3 [INFO] [stderr] Checking accesskit_winit v0.22.4 [INFO] [stderr] Checking egui-winit v0.29.1 [INFO] [stderr] Checking eframe v0.29.1 [INFO] [stderr] Checking racing_dashboard v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] error[E0255]: the name `SeasonTab` is defined multiple times [INFO] [stdout] --> src/main.rs:35:1 [INFO] [stdout] | [INFO] [stdout] 16 | RaceEvent, RaceLog, RaceRecord, RaceReplay, RaceStrategy, RacePrediction, Season, SeasonTab, [INFO] [stdout] | --------- previous import of the type `SeasonTab` here [INFO] [stdout] ... [INFO] [stdout] 35 | pub enum SeasonTab { // 將 enum 改為 pub [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ `SeasonTab` redefined here [INFO] [stdout] | [INFO] [stdout] = note: `SeasonTab` must be defined only once in the type namespace of this module [INFO] [stdout] help: you can use `as` to change the binding name of the import [INFO] [stdout] | [INFO] [stdout] 16 | RaceEvent, RaceLog, RaceRecord, RaceReplay, RaceStrategy, RacePrediction, Season, SeasonTab as OtherSeasonTab, [INFO] [stdout] | +++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0255]: the name `SeasonTab` is defined multiple times [INFO] [stdout] --> src/main.rs:35:1 [INFO] [stdout] | [INFO] [stdout] 16 | RaceEvent, RaceLog, RaceRecord, RaceReplay, RaceStrategy, RacePrediction, Season, SeasonTab, [INFO] [stdout] | --------- previous import of the type `SeasonTab` here [INFO] [stdout] ... [INFO] [stdout] 35 | pub enum SeasonTab { // 將 enum 改為 pub [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ `SeasonTab` redefined here [INFO] [stdout] | [INFO] [stdout] = note: `SeasonTab` must be defined only once in the type namespace of this module [INFO] [stdout] help: you can use `as` to change the binding name of the import [INFO] [stdout] | [INFO] [stdout] 16 | RaceEvent, RaceLog, RaceRecord, RaceReplay, RaceStrategy, RacePrediction, Season, SeasonTab as OtherSeasonTab, [INFO] [stdout] | +++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0255]: the name `Tab` is defined multiple times [INFO] [stdout] --> src/main.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 17 | Tab, Team, TestReport, Theme, TrackMap, User, WeatherForecast, Notification, [INFO] [stdout] | --- previous import of the type `Tab` here [INFO] [stdout] ... [INFO] [stdout] 23 | pub enum Tab { // 將 enum 改為 pub [INFO] [stdout] | ^^^^^^^^^^^^ `Tab` redefined here [INFO] [stdout] | [INFO] [stdout] = note: `Tab` must be defined only once in the type namespace of this module [INFO] [stdout] help: you can use `as` to change the binding name of the import [INFO] [stdout] | [INFO] [stdout] 17 | Tab as OtherTab, Team, TestReport, Theme, TrackMap, User, WeatherForecast, Notification, [INFO] [stdout] | +++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0255]: the name `Tab` is defined multiple times [INFO] [stdout] --> src/main.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 17 | Tab, Team, TestReport, Theme, TrackMap, User, WeatherForecast, Notification, [INFO] [stdout] | --- previous import of the type `Tab` here [INFO] [stdout] ... [INFO] [stdout] 23 | pub enum Tab { // 將 enum 改為 pub [INFO] [stdout] | ^^^^^^^^^^^^ `Tab` redefined here [INFO] [stdout] | [INFO] [stdout] = note: `Tab` must be defined only once in the type namespace of this module [INFO] [stdout] help: you can use `as` to change the binding name of the import [INFO] [stdout] | [INFO] [stdout] 17 | Tab as OtherTab, Team, TestReport, Theme, TrackMap, User, WeatherForecast, Notification, [INFO] [stdout] | +++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0432]: unresolved import `eframe::egui::plot` [INFO] [stdout] --> src/main.rs:2:26 [INFO] [stdout] | [INFO] [stdout] 2 | use eframe::egui::{self, plot::{Plot, BarChart, Bar, Line, PlotPoints}}; [INFO] [stdout] | ^^^^ could not find `plot` in `egui` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0432]: unresolved import `eframe::egui::plot` [INFO] [stdout] --> src/racing_dashboard.rs:1:26 [INFO] [stdout] | [INFO] [stdout] 1 | use eframe::egui::{self, plot::{Plot, BarChart, Bar, Line, Points, PlotPoints}}; [INFO] [stdout] | ^^^^ could not find `plot` in `egui` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0432]: unresolved import `eframe::egui::plot` [INFO] [stdout] --> src/main.rs:2:26 [INFO] [stdout] | [INFO] [stdout] 2 | use eframe::egui::{self, plot::{Plot, BarChart, Bar, Line, PlotPoints}}; [INFO] [stdout] | ^^^^ could not find `plot` in `egui` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0432]: unresolved import `eframe::egui::plot` [INFO] [stdout] --> src/racing_dashboard.rs:1:26 [INFO] [stdout] | [INFO] [stdout] 1 | use eframe::egui::{self, plot::{Plot, BarChart, Bar, Line, Points, PlotPoints}}; [INFO] [stdout] | ^^^^ could not find `plot` in `egui` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0603]: struct `FilterSettings` is private [INFO] [stdout] --> src/main.rs:14:78 [INFO] [stdout] | [INFO] [stdout] 14 | Achievement, CarSetup, CarTest, CarUpgrade, DamageReport, DriverProfile, FilterSettings, [INFO] [stdout] | ^^^^^^^^^^^^^^ private struct [INFO] [stdout] | [INFO] [stdout] note: the struct `FilterSettings` is defined here [INFO] [stdout] --> src/racing_dashboard.rs:306:1 [INFO] [stdout] | [INFO] [stdout] 306 | struct FilterSettings { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0603]: struct `FilterSettings` is private [INFO] [stdout] --> src/main.rs:14:78 [INFO] [stdout] | [INFO] [stdout] 14 | Achievement, CarSetup, CarTest, CarUpgrade, DamageReport, DriverProfile, FilterSettings, [INFO] [stdout] | ^^^^^^^^^^^^^^ private struct [INFO] [stdout] | [INFO] [stdout] note: the struct `FilterSettings` is defined here [INFO] [stdout] --> src/racing_dashboard.rs:306:1 [INFO] [stdout] | [INFO] [stdout] 306 | struct FilterSettings { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0119]: conflicting implementations of trait `App` for type `RacingDashboard` [INFO] [stdout] --> src/main.rs:799:1 [INFO] [stdout] | [INFO] [stdout] 799 | impl eframe::App for RacingDashboard { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `RacingDashboard` [INFO] [stdout] | [INFO] [stdout] ::: src/racing_dashboard.rs:1079:1 [INFO] [stdout] | [INFO] [stdout] 1079 | impl eframe::App for RacingDashboard { [INFO] [stdout] | ------------------------------------ first implementation here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0119]: conflicting implementations of trait `App` for type `RacingDashboard` [INFO] [stdout] --> src/main.rs:799:1 [INFO] [stdout] | [INFO] [stdout] 799 | impl eframe::App for RacingDashboard { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `RacingDashboard` [INFO] [stdout] | [INFO] [stdout] ::: src/racing_dashboard.rs:1079:1 [INFO] [stdout] | [INFO] [stdout] 1079 | impl eframe::App for RacingDashboard { [INFO] [stdout] | ------------------------------------ first implementation here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0592]: duplicate definitions with name `show_season_standings` [INFO] [stdout] --> src/racing_dashboard.rs:950:5 [INFO] [stdout] | [INFO] [stdout] 950 | fn show_season_standings(&mut self, ui: &mut egui::Ui) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ duplicate definitions for `show_season_standings` [INFO] [stdout] ... [INFO] [stdout] 1275 | fn show_season_standings(&mut self, ui: &mut egui::Ui) { [INFO] [stdout] | ------------------------------------------------------ other definition for `show_season_standings` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0592]: duplicate definitions with name `show_season_statistics` [INFO] [stdout] --> src/racing_dashboard.rs:963:5 [INFO] [stdout] | [INFO] [stdout] 963 | fn show_season_statistics(&mut self, ui: &mut egui::Ui) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ duplicate definitions for `show_season_statistics` [INFO] [stdout] ... [INFO] [stdout] 1280 | fn show_season_statistics(&mut self, ui: &mut egui::Ui) { [INFO] [stdout] | ------------------------------------------------------- other definition for `show_season_statistics` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0592]: duplicate definitions with name `show_season_standings` [INFO] [stdout] --> src/racing_dashboard.rs:950:5 [INFO] [stdout] | [INFO] [stdout] 950 | fn show_season_standings(&mut self, ui: &mut egui::Ui) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ duplicate definitions for `show_season_standings` [INFO] [stdout] ... [INFO] [stdout] 1275 | fn show_season_standings(&mut self, ui: &mut egui::Ui) { [INFO] [stdout] | ------------------------------------------------------ other definition for `show_season_standings` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0592]: duplicate definitions with name `show_scheduled_maintenance` [INFO] [stdout] --> src/racing_dashboard.rs:991:5 [INFO] [stdout] | [INFO] [stdout] 991 | fn show_scheduled_maintenance(&mut self, ui: &mut egui::Ui) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ duplicate definitions for `show_scheduled_maintenance` [INFO] [stdout] ... [INFO] [stdout] 1285 | fn show_scheduled_maintenance(&mut self, ui: &mut egui::Ui) { [INFO] [stdout] | ----------------------------------------------------------- other definition for `show_scheduled_maintenance` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0592]: duplicate definitions with name `show_season_statistics` [INFO] [stdout] --> src/racing_dashboard.rs:963:5 [INFO] [stdout] | [INFO] [stdout] 963 | fn show_season_statistics(&mut self, ui: &mut egui::Ui) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ duplicate definitions for `show_season_statistics` [INFO] [stdout] ... [INFO] [stdout] 1280 | fn show_season_statistics(&mut self, ui: &mut egui::Ui) { [INFO] [stdout] | ------------------------------------------------------- other definition for `show_season_statistics` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0592]: duplicate definitions with name `show_maintenance_history` [INFO] [stdout] --> src/racing_dashboard.rs:1006:5 [INFO] [stdout] | [INFO] [stdout] 1006 | fn show_maintenance_history(&mut self, ui: &mut egui::Ui) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ duplicate definitions for `show_maintenance_history` [INFO] [stdout] ... [INFO] [stdout] 1290 | fn show_maintenance_history(&mut self, ui: &mut egui::Ui) { [INFO] [stdout] | --------------------------------------------------------- other definition for `show_maintenance_history` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0592]: duplicate definitions with name `show_maintenance_costs` [INFO] [stdout] --> src/racing_dashboard.rs:1019:5 [INFO] [stdout] | [INFO] [stdout] 1019 | fn show_maintenance_costs(&mut self, ui: &mut egui::Ui) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ duplicate definitions for `show_maintenance_costs` [INFO] [stdout] ... [INFO] [stdout] 1295 | fn show_maintenance_costs(&mut self, ui: &mut egui::Ui) { [INFO] [stdout] | ------------------------------------------------------- other definition for `show_maintenance_costs` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0592]: duplicate definitions with name `new` [INFO] [stdout] --> src/racing_dashboard.rs:314:5 [INFO] [stdout] | [INFO] [stdout] 314 | fn new(cc: &eframe::CreationContext<'_>) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ duplicate definitions for `new` [INFO] [stdout] | [INFO] [stdout] ::: src/main.rs:59:5 [INFO] [stdout] | [INFO] [stdout] 59 | pub fn new(cc: &eframe::CreationContext<'_>) -> Self { // 將 new 方法改為 pub [INFO] [stdout] | ---------------------------------------------------- other definition for `new` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0592]: duplicate definitions with name `show_setup_window` [INFO] [stdout] --> src/racing_dashboard.rs:341:5 [INFO] [stdout] | [INFO] [stdout] 341 | fn show_setup_window(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ duplicate definitions for `show_setup_window` [INFO] [stdout] | [INFO] [stdout] ::: src/main.rs:92:5 [INFO] [stdout] | [INFO] [stdout] 92 | fn show_setup_window(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ---------------------------------------------------- other definition for `show_setup_window` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0592]: duplicate definitions with name `show_weather_effects` [INFO] [stdout] --> src/racing_dashboard.rs:359:5 [INFO] [stdout] | [INFO] [stdout] 359 | fn show_weather_effects(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ duplicate definitions for `show_weather_effects` [INFO] [stdout] | [INFO] [stdout] ::: src/main.rs:112:5 [INFO] [stdout] | [INFO] [stdout] 112 | fn show_weather_effects(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ------------------------------------------------------- other definition for `show_weather_effects` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0592]: duplicate definitions with name `show_scheduled_maintenance` [INFO] [stdout] --> src/racing_dashboard.rs:991:5 [INFO] [stdout] | [INFO] [stdout] 991 | fn show_scheduled_maintenance(&mut self, ui: &mut egui::Ui) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ duplicate definitions for `show_scheduled_maintenance` [INFO] [stdout] ... [INFO] [stdout] 1285 | fn show_scheduled_maintenance(&mut self, ui: &mut egui::Ui) { [INFO] [stdout] | ----------------------------------------------------------- other definition for `show_scheduled_maintenance` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0592]: duplicate definitions with name `calculate_weather_impact` [INFO] [stdout] --> src/racing_dashboard.rs:373:5 [INFO] [stdout] | [INFO] [stdout] 373 | fn calculate_weather_impact(&self) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ duplicate definitions for `calculate_weather_impact` [INFO] [stdout] | [INFO] [stdout] ::: src/main.rs:128:5 [INFO] [stdout] | [INFO] [stdout] 128 | fn calculate_weather_impact(&self) -> f32 { [INFO] [stdout] | ----------------------------------------- other definition for `calculate_weather_impact` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0592]: duplicate definitions with name `show_maintenance_history` [INFO] [stdout] --> src/racing_dashboard.rs:1006:5 [INFO] [stdout] | [INFO] [stdout] 1006 | fn show_maintenance_history(&mut self, ui: &mut egui::Ui) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ duplicate definitions for `show_maintenance_history` [INFO] [stdout] ... [INFO] [stdout] 1290 | fn show_maintenance_history(&mut self, ui: &mut egui::Ui) { [INFO] [stdout] | --------------------------------------------------------- other definition for `show_maintenance_history` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0592]: duplicate definitions with name `show_achievements` [INFO] [stdout] --> src/racing_dashboard.rs:380:5 [INFO] [stdout] | [INFO] [stdout] 380 | fn show_achievements(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ duplicate definitions for `show_achievements` [INFO] [stdout] | [INFO] [stdout] ::: src/main.rs:138:5 [INFO] [stdout] | [INFO] [stdout] 138 | fn show_achievements(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ---------------------------------------------------- other definition for `show_achievements` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0592]: duplicate definitions with name `show_maintenance_costs` [INFO] [stdout] --> src/racing_dashboard.rs:1019:5 [INFO] [stdout] | [INFO] [stdout] 1019 | fn show_maintenance_costs(&mut self, ui: &mut egui::Ui) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ duplicate definitions for `show_maintenance_costs` [INFO] [stdout] ... [INFO] [stdout] 1295 | fn show_maintenance_costs(&mut self, ui: &mut egui::Ui) { [INFO] [stdout] | ------------------------------------------------------- other definition for `show_maintenance_costs` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0592]: duplicate definitions with name `new` [INFO] [stdout] --> src/racing_dashboard.rs:314:5 [INFO] [stdout] | [INFO] [stdout] 314 | fn new(cc: &eframe::CreationContext<'_>) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ duplicate definitions for `new` [INFO] [stdout] | [INFO] [stdout] ::: src/main.rs:59:5 [INFO] [stdout] | [INFO] [stdout] 59 | pub fn new(cc: &eframe::CreationContext<'_>) -> Self { // 將 new 方法改為 pub [INFO] [stdout] | ---------------------------------------------------- other definition for `new` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0592]: duplicate definitions with name `update_achievements` [INFO] [stdout] --> src/racing_dashboard.rs:404:5 [INFO] [stdout] | [INFO] [stdout] 404 | fn update_achievements(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ duplicate definitions for `update_achievements` [INFO] [stdout] | [INFO] [stdout] ::: src/main.rs:163:5 [INFO] [stdout] | [INFO] [stdout] 163 | fn update_achievements(&mut self) { [INFO] [stdout] | --------------------------------- other definition for `update_achievements` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0592]: duplicate definitions with name `show_setup_window` [INFO] [stdout] --> src/racing_dashboard.rs:341:5 [INFO] [stdout] | [INFO] [stdout] 341 | fn show_setup_window(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ duplicate definitions for `show_setup_window` [INFO] [stdout] | [INFO] [stdout] ::: src/main.rs:92:5 [INFO] [stdout] | [INFO] [stdout] 92 | fn show_setup_window(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ---------------------------------------------------- other definition for `show_setup_window` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0592]: duplicate definitions with name `show_season_management` [INFO] [stdout] --> src/racing_dashboard.rs:424:5 [INFO] [stdout] | [INFO] [stdout] 424 | fn show_season_management(&mut self, ui: &mut egui::Ui) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ duplicate definitions for `show_season_management` [INFO] [stdout] | [INFO] [stdout] ::: src/main.rs:186:5 [INFO] [stdout] | [INFO] [stdout] 186 | fn show_season_management(&mut self, ui: &mut egui::Ui) { [INFO] [stdout] | ------------------------------------------------------- other definition for `show_season_management` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0592]: duplicate definitions with name `show_weather_effects` [INFO] [stdout] --> src/racing_dashboard.rs:359:5 [INFO] [stdout] | [INFO] [stdout] 359 | fn show_weather_effects(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ duplicate definitions for `show_weather_effects` [INFO] [stdout] | [INFO] [stdout] ::: src/main.rs:112:5 [INFO] [stdout] | [INFO] [stdout] 112 | fn show_weather_effects(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ------------------------------------------------------- other definition for `show_weather_effects` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0592]: duplicate definitions with name `show_season_overview` [INFO] [stdout] --> src/racing_dashboard.rs:452:5 [INFO] [stdout] | [INFO] [stdout] 452 | fn show_season_overview(&mut self, ui: &mut egui::Ui) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ duplicate definitions for `show_season_overview` [INFO] [stdout] | [INFO] [stdout] ::: src/main.rs:213:5 [INFO] [stdout] | [INFO] [stdout] 213 | fn show_season_overview(&mut self, ui: &mut egui::Ui) { [INFO] [stdout] | ----------------------------------------------------- other definition for `show_season_overview` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0592]: duplicate definitions with name `calculate_weather_impact` [INFO] [stdout] --> src/racing_dashboard.rs:373:5 [INFO] [stdout] | [INFO] [stdout] 373 | fn calculate_weather_impact(&self) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ duplicate definitions for `calculate_weather_impact` [INFO] [stdout] | [INFO] [stdout] ::: src/main.rs:128:5 [INFO] [stdout] | [INFO] [stdout] 128 | fn calculate_weather_impact(&self) -> f32 { [INFO] [stdout] | ----------------------------------------- other definition for `calculate_weather_impact` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0592]: duplicate definitions with name `show_lap_analysis` [INFO] [stdout] --> src/racing_dashboard.rs:479:5 [INFO] [stdout] | [INFO] [stdout] 479 | fn show_lap_analysis(&self, ui: &mut egui::Ui) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ duplicate definitions for `show_lap_analysis` [INFO] [stdout] | [INFO] [stdout] ::: src/main.rs:239:5 [INFO] [stdout] | [INFO] [stdout] 239 | fn show_lap_analysis(&self, ui: &mut egui::Ui) { [INFO] [stdout] | ---------------------------------------------- other definition for `show_lap_analysis` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0592]: duplicate definitions with name `show_achievements` [INFO] [stdout] --> src/racing_dashboard.rs:380:5 [INFO] [stdout] | [INFO] [stdout] 380 | fn show_achievements(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ duplicate definitions for `show_achievements` [INFO] [stdout] | [INFO] [stdout] ::: src/main.rs:138:5 [INFO] [stdout] | [INFO] [stdout] 138 | fn show_achievements(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ---------------------------------------------------- other definition for `show_achievements` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0592]: duplicate definitions with name `init_achievements` [INFO] [stdout] --> src/racing_dashboard.rs:509:5 [INFO] [stdout] | [INFO] [stdout] 509 | fn init_achievements() -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ duplicate definitions for `init_achievements` [INFO] [stdout] | [INFO] [stdout] ::: src/main.rs:268:5 [INFO] [stdout] | [INFO] [stdout] 268 | fn init_achievements() -> Vec { [INFO] [stdout] | ------------------------------------------ other definition for `init_achievements` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0592]: duplicate definitions with name `update_achievements` [INFO] [stdout] --> src/racing_dashboard.rs:404:5 [INFO] [stdout] | [INFO] [stdout] 404 | fn update_achievements(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ duplicate definitions for `update_achievements` [INFO] [stdout] | [INFO] [stdout] ::: src/main.rs:163:5 [INFO] [stdout] | [INFO] [stdout] 163 | fn update_achievements(&mut self) { [INFO] [stdout] | --------------------------------- other definition for `update_achievements` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0592]: duplicate definitions with name `show_filters` [INFO] [stdout] --> src/racing_dashboard.rs:529:5 [INFO] [stdout] | [INFO] [stdout] 529 | fn show_filters(&mut self, ui: &mut egui::Ui) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ duplicate definitions for `show_filters` [INFO] [stdout] | [INFO] [stdout] ::: src/main.rs:288:5 [INFO] [stdout] | [INFO] [stdout] 288 | fn show_filters(&mut self, ui: &mut egui::Ui) { [INFO] [stdout] | --------------------------------------------- other definition for `show_filters` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0592]: duplicate definitions with name `show_season_management` [INFO] [stdout] --> src/racing_dashboard.rs:424:5 [INFO] [stdout] | [INFO] [stdout] 424 | fn show_season_management(&mut self, ui: &mut egui::Ui) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ duplicate definitions for `show_season_management` [INFO] [stdout] | [INFO] [stdout] ::: src/main.rs:186:5 [INFO] [stdout] | [INFO] [stdout] 186 | fn show_season_management(&mut self, ui: &mut egui::Ui) { [INFO] [stdout] | ------------------------------------------------------- other definition for `show_season_management` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0592]: duplicate definitions with name `show_maintenance_management` [INFO] [stdout] --> src/racing_dashboard.rs:545:5 [INFO] [stdout] | [INFO] [stdout] 545 | fn show_maintenance_management(&mut self, ui: &mut egui::Ui) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ duplicate definitions for `show_maintenance_management` [INFO] [stdout] | [INFO] [stdout] ::: src/main.rs:304:5 [INFO] [stdout] | [INFO] [stdout] 304 | fn show_maintenance_management(&mut self, ui: &mut egui::Ui) { [INFO] [stdout] | ------------------------------------------------------------ other definition for `show_maintenance_management` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0592]: duplicate definitions with name `show_season_overview` [INFO] [stdout] --> src/racing_dashboard.rs:452:5 [INFO] [stdout] | [INFO] [stdout] 452 | fn show_season_overview(&mut self, ui: &mut egui::Ui) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ duplicate definitions for `show_season_overview` [INFO] [stdout] | [INFO] [stdout] ::: src/main.rs:213:5 [INFO] [stdout] | [INFO] [stdout] 213 | fn show_season_overview(&mut self, ui: &mut egui::Ui) { [INFO] [stdout] | ----------------------------------------------------- other definition for `show_season_overview` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0592]: duplicate definitions with name `show_incident_report` [INFO] [stdout] --> src/racing_dashboard.rs:567:5 [INFO] [stdout] | [INFO] [stdout] 567 | fn show_incident_report(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ duplicate definitions for `show_incident_report` [INFO] [stdout] | [INFO] [stdout] ::: src/main.rs:325:5 [INFO] [stdout] | [INFO] [stdout] 325 | fn show_incident_report(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ------------------------------------------------------- other definition for `show_incident_report` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0592]: duplicate definitions with name `show_weather_forecast` [INFO] [stdout] --> src/racing_dashboard.rs:579:5 [INFO] [stdout] | [INFO] [stdout] 579 | fn show_weather_forecast(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ duplicate definitions for `show_weather_forecast` [INFO] [stdout] | [INFO] [stdout] ::: src/main.rs:337:5 [INFO] [stdout] | [INFO] [stdout] 337 | fn show_weather_forecast(&mut self, ctx: &egui::Context) { [INFO] [stdout] | -------------------------------------------------------- other definition for `show_weather_forecast` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0592]: duplicate definitions with name `show_driver_management` [INFO] [stdout] --> src/racing_dashboard.rs:612:5 [INFO] [stdout] | [INFO] [stdout] 612 | fn show_driver_management(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ duplicate definitions for `show_driver_management` [INFO] [stdout] | [INFO] [stdout] ::: src/main.rs:370:5 [INFO] [stdout] | [INFO] [stdout] 370 | fn show_driver_management(&mut self, ctx: &egui::Context) { [INFO] [stdout] | --------------------------------------------------------- other definition for `show_driver_management` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0592]: duplicate definitions with name `show_lap_analysis` [INFO] [stdout] --> src/racing_dashboard.rs:479:5 [INFO] [stdout] | [INFO] [stdout] 479 | fn show_lap_analysis(&self, ui: &mut egui::Ui) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ duplicate definitions for `show_lap_analysis` [INFO] [stdout] | [INFO] [stdout] ::: src/main.rs:239:5 [INFO] [stdout] | [INFO] [stdout] 239 | fn show_lap_analysis(&self, ui: &mut egui::Ui) { [INFO] [stdout] | ---------------------------------------------- other definition for `show_lap_analysis` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0592]: duplicate definitions with name `show_track_analysis` [INFO] [stdout] --> src/racing_dashboard.rs:643:5 [INFO] [stdout] | [INFO] [stdout] 643 | fn show_track_analysis(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ duplicate definitions for `show_track_analysis` [INFO] [stdout] | [INFO] [stdout] ::: src/main.rs:401:5 [INFO] [stdout] | [INFO] [stdout] 401 | fn show_track_analysis(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ------------------------------------------------------ other definition for `show_track_analysis` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0592]: duplicate definitions with name `init_achievements` [INFO] [stdout] --> src/racing_dashboard.rs:509:5 [INFO] [stdout] | [INFO] [stdout] 509 | fn init_achievements() -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ duplicate definitions for `init_achievements` [INFO] [stdout] | [INFO] [stdout] ::: src/main.rs:268:5 [INFO] [stdout] | [INFO] [stdout] 268 | fn init_achievements() -> Vec { [INFO] [stdout] | ------------------------------------------ other definition for `init_achievements` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0592]: duplicate definitions with name `show_team_management` [INFO] [stdout] --> src/racing_dashboard.rs:685:5 [INFO] [stdout] | [INFO] [stdout] 685 | fn show_team_management(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ duplicate definitions for `show_team_management` [INFO] [stdout] | [INFO] [stdout] ::: src/main.rs:443:5 [INFO] [stdout] | [INFO] [stdout] 443 | fn show_team_management(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ------------------------------------------------------- other definition for `show_team_management` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0592]: duplicate definitions with name `show_filters` [INFO] [stdout] --> src/racing_dashboard.rs:529:5 [INFO] [stdout] | [INFO] [stdout] 529 | fn show_filters(&mut self, ui: &mut egui::Ui) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ duplicate definitions for `show_filters` [INFO] [stdout] | [INFO] [stdout] ::: src/main.rs:288:5 [INFO] [stdout] | [INFO] [stdout] 288 | fn show_filters(&mut self, ui: &mut egui::Ui) { [INFO] [stdout] | --------------------------------------------- other definition for `show_filters` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0592]: duplicate definitions with name `show_maintenance_management` [INFO] [stdout] --> src/racing_dashboard.rs:545:5 [INFO] [stdout] | [INFO] [stdout] 545 | fn show_maintenance_management(&mut self, ui: &mut egui::Ui) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ duplicate definitions for `show_maintenance_management` [INFO] [stdout] | [INFO] [stdout] ::: src/main.rs:304:5 [INFO] [stdout] | [INFO] [stdout] 304 | fn show_maintenance_management(&mut self, ui: &mut egui::Ui) { [INFO] [stdout] | ------------------------------------------------------------ other definition for `show_maintenance_management` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0592]: duplicate definitions with name `show_performance_analysis` [INFO] [stdout] --> src/racing_dashboard.rs:721:5 [INFO] [stdout] | [INFO] [stdout] 721 | fn show_performance_analysis(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ duplicate definitions for `show_performance_analysis` [INFO] [stdout] | [INFO] [stdout] ::: src/main.rs:479:5 [INFO] [stdout] | [INFO] [stdout] 479 | fn show_performance_analysis(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ------------------------------------------------------------ other definition for `show_performance_analysis` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0592]: duplicate definitions with name `show_incident_report` [INFO] [stdout] --> src/racing_dashboard.rs:567:5 [INFO] [stdout] | [INFO] [stdout] 567 | fn show_incident_report(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ duplicate definitions for `show_incident_report` [INFO] [stdout] | [INFO] [stdout] ::: src/main.rs:325:5 [INFO] [stdout] | [INFO] [stdout] 325 | fn show_incident_report(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ------------------------------------------------------- other definition for `show_incident_report` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0592]: duplicate definitions with name `show_race_replay` [INFO] [stdout] --> src/racing_dashboard.rs:750:5 [INFO] [stdout] | [INFO] [stdout] 750 | fn show_race_replay(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ duplicate definitions for `show_race_replay` [INFO] [stdout] | [INFO] [stdout] ::: src/main.rs:508:5 [INFO] [stdout] | [INFO] [stdout] 508 | fn show_race_replay(&mut self, ctx: &egui::Context) { [INFO] [stdout] | --------------------------------------------------- other definition for `show_race_replay` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0592]: duplicate definitions with name `show_weather_forecast` [INFO] [stdout] --> src/racing_dashboard.rs:579:5 [INFO] [stdout] | [INFO] [stdout] 579 | fn show_weather_forecast(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ duplicate definitions for `show_weather_forecast` [INFO] [stdout] | [INFO] [stdout] ::: src/main.rs:337:5 [INFO] [stdout] | [INFO] [stdout] 337 | fn show_weather_forecast(&mut self, ctx: &egui::Context) { [INFO] [stdout] | -------------------------------------------------------- other definition for `show_weather_forecast` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0592]: duplicate definitions with name `show_car_upgrade` [INFO] [stdout] --> src/racing_dashboard.rs:769:5 [INFO] [stdout] | [INFO] [stdout] 769 | fn show_car_upgrade(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ duplicate definitions for `show_car_upgrade` [INFO] [stdout] | [INFO] [stdout] ::: src/main.rs:527:5 [INFO] [stdout] | [INFO] [stdout] 527 | fn show_car_upgrade(&mut self, ctx: &egui::Context) { [INFO] [stdout] | --------------------------------------------------- other definition for `show_car_upgrade` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0592]: duplicate definitions with name `show_driver_management` [INFO] [stdout] --> src/racing_dashboard.rs:612:5 [INFO] [stdout] | [INFO] [stdout] 612 | fn show_driver_management(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ duplicate definitions for `show_driver_management` [INFO] [stdout] | [INFO] [stdout] ::: src/main.rs:370:5 [INFO] [stdout] | [INFO] [stdout] 370 | fn show_driver_management(&mut self, ctx: &egui::Context) { [INFO] [stdout] | --------------------------------------------------------- other definition for `show_driver_management` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0592]: duplicate definitions with name `apply_upgrade` [INFO] [stdout] --> src/racing_dashboard.rs:792:5 [INFO] [stdout] | [INFO] [stdout] 792 | fn apply_upgrade(&mut self, upgrade: &CarUpgrade) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ duplicate definitions for `apply_upgrade` [INFO] [stdout] | [INFO] [stdout] ::: src/main.rs:550:5 [INFO] [stdout] | [INFO] [stdout] 550 | fn apply_upgrade(&mut self, upgrade: &CarUpgrade) { [INFO] [stdout] | ------------------------------------------------- other definition for `apply_upgrade` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0592]: duplicate definitions with name `show_track_analysis` [INFO] [stdout] --> src/racing_dashboard.rs:643:5 [INFO] [stdout] | [INFO] [stdout] 643 | fn show_track_analysis(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ duplicate definitions for `show_track_analysis` [INFO] [stdout] | [INFO] [stdout] ::: src/main.rs:401:5 [INFO] [stdout] | [INFO] [stdout] 401 | fn show_track_analysis(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ------------------------------------------------------ other definition for `show_track_analysis` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0592]: duplicate definitions with name `show_race_strategy` [INFO] [stdout] --> src/racing_dashboard.rs:799:5 [INFO] [stdout] | [INFO] [stdout] 799 | fn show_race_strategy(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ duplicate definitions for `show_race_strategy` [INFO] [stdout] | [INFO] [stdout] ::: src/main.rs:557:5 [INFO] [stdout] | [INFO] [stdout] 557 | fn show_race_strategy(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ----------------------------------------------------- other definition for `show_race_strategy` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0592]: duplicate definitions with name `show_team_management` [INFO] [stdout] --> src/racing_dashboard.rs:685:5 [INFO] [stdout] | [INFO] [stdout] 685 | fn show_team_management(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ duplicate definitions for `show_team_management` [INFO] [stdout] | [INFO] [stdout] ::: src/main.rs:443:5 [INFO] [stdout] | [INFO] [stdout] 443 | fn show_team_management(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ------------------------------------------------------- other definition for `show_team_management` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0592]: duplicate definitions with name `show_car_test` [INFO] [stdout] --> src/racing_dashboard.rs:821:5 [INFO] [stdout] | [INFO] [stdout] 821 | fn show_car_test(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ duplicate definitions for `show_car_test` [INFO] [stdout] | [INFO] [stdout] ::: src/main.rs:579:5 [INFO] [stdout] | [INFO] [stdout] 579 | fn show_car_test(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ------------------------------------------------ other definition for `show_car_test` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0592]: duplicate definitions with name `show_performance_analysis` [INFO] [stdout] --> src/racing_dashboard.rs:721:5 [INFO] [stdout] | [INFO] [stdout] 721 | fn show_performance_analysis(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ duplicate definitions for `show_performance_analysis` [INFO] [stdout] | [INFO] [stdout] ::: src/main.rs:479:5 [INFO] [stdout] | [INFO] [stdout] 479 | fn show_performance_analysis(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ------------------------------------------------------------ other definition for `show_performance_analysis` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0592]: duplicate definitions with name `show_race_replay` [INFO] [stdout] --> src/racing_dashboard.rs:750:5 [INFO] [stdout] | [INFO] [stdout] 750 | fn show_race_replay(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ duplicate definitions for `show_race_replay` [INFO] [stdout] | [INFO] [stdout] ::: src/main.rs:508:5 [INFO] [stdout] | [INFO] [stdout] 508 | fn show_race_replay(&mut self, ctx: &egui::Context) { [INFO] [stdout] | --------------------------------------------------- other definition for `show_race_replay` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0592]: duplicate definitions with name `show_damage_report` [INFO] [stdout] --> src/racing_dashboard.rs:854:5 [INFO] [stdout] | [INFO] [stdout] 854 | fn show_damage_report(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ duplicate definitions for `show_damage_report` [INFO] [stdout] | [INFO] [stdout] ::: src/main.rs:612:5 [INFO] [stdout] | [INFO] [stdout] 612 | fn show_damage_report(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ----------------------------------------------------- other definition for `show_damage_report` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0592]: duplicate definitions with name `show_car_upgrade` [INFO] [stdout] --> src/racing_dashboard.rs:769:5 [INFO] [stdout] | [INFO] [stdout] 769 | fn show_car_upgrade(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ duplicate definitions for `show_car_upgrade` [INFO] [stdout] | [INFO] [stdout] ::: src/main.rs:527:5 [INFO] [stdout] | [INFO] [stdout] 527 | fn show_car_upgrade(&mut self, ctx: &egui::Context) { [INFO] [stdout] | --------------------------------------------------- other definition for `show_car_upgrade` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0592]: duplicate definitions with name `show_race_log` [INFO] [stdout] --> src/racing_dashboard.rs:872:5 [INFO] [stdout] | [INFO] [stdout] 872 | fn show_race_log(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ duplicate definitions for `show_race_log` [INFO] [stdout] | [INFO] [stdout] ::: src/main.rs:630:5 [INFO] [stdout] | [INFO] [stdout] 630 | fn show_race_log(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ------------------------------------------------ other definition for `show_race_log` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0592]: duplicate definitions with name `apply_upgrade` [INFO] [stdout] --> src/racing_dashboard.rs:792:5 [INFO] [stdout] | [INFO] [stdout] 792 | fn apply_upgrade(&mut self, upgrade: &CarUpgrade) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ duplicate definitions for `apply_upgrade` [INFO] [stdout] | [INFO] [stdout] ::: src/main.rs:550:5 [INFO] [stdout] | [INFO] [stdout] 550 | fn apply_upgrade(&mut self, upgrade: &CarUpgrade) { [INFO] [stdout] | ------------------------------------------------- other definition for `apply_upgrade` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0592]: duplicate definitions with name `show_insurance_policy` [INFO] [stdout] --> src/racing_dashboard.rs:891:5 [INFO] [stdout] | [INFO] [stdout] 891 | fn show_insurance_policy(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ duplicate definitions for `show_insurance_policy` [INFO] [stdout] | [INFO] [stdout] ::: src/main.rs:649:5 [INFO] [stdout] | [INFO] [stdout] 649 | fn show_insurance_policy(&mut self, ctx: &egui::Context) { [INFO] [stdout] | -------------------------------------------------------- other definition for `show_insurance_policy` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0592]: duplicate definitions with name `show_race_strategy` [INFO] [stdout] --> src/racing_dashboard.rs:799:5 [INFO] [stdout] | [INFO] [stdout] 799 | fn show_race_strategy(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ duplicate definitions for `show_race_strategy` [INFO] [stdout] | [INFO] [stdout] ::: src/main.rs:557:5 [INFO] [stdout] | [INFO] [stdout] 557 | fn show_race_strategy(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ----------------------------------------------------- other definition for `show_race_strategy` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0592]: duplicate definitions with name `show_race_prediction` [INFO] [stdout] --> src/racing_dashboard.rs:910:5 [INFO] [stdout] | [INFO] [stdout] 910 | fn show_race_prediction(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ duplicate definitions for `show_race_prediction` [INFO] [stdout] | [INFO] [stdout] ::: src/main.rs:668:5 [INFO] [stdout] | [INFO] [stdout] 668 | fn show_race_prediction(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ------------------------------------------------------- other definition for `show_race_prediction` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0592]: duplicate definitions with name `show_car_test` [INFO] [stdout] --> src/racing_dashboard.rs:821:5 [INFO] [stdout] | [INFO] [stdout] 821 | fn show_car_test(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ duplicate definitions for `show_car_test` [INFO] [stdout] | [INFO] [stdout] ::: src/main.rs:579:5 [INFO] [stdout] | [INFO] [stdout] 579 | fn show_car_test(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ------------------------------------------------ other definition for `show_car_test` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0592]: duplicate definitions with name `show_test_report` [INFO] [stdout] --> src/racing_dashboard.rs:929:5 [INFO] [stdout] | [INFO] [stdout] 929 | fn show_test_report(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ duplicate definitions for `show_test_report` [INFO] [stdout] | [INFO] [stdout] ::: src/main.rs:687:5 [INFO] [stdout] | [INFO] [stdout] 687 | fn show_test_report(&mut self, ctx: &egui::Context) { [INFO] [stdout] | --------------------------------------------------- other definition for `show_test_report` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0592]: duplicate definitions with name `show_damage_report` [INFO] [stdout] --> src/racing_dashboard.rs:854:5 [INFO] [stdout] | [INFO] [stdout] 854 | fn show_damage_report(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ duplicate definitions for `show_damage_report` [INFO] [stdout] | [INFO] [stdout] ::: src/main.rs:612:5 [INFO] [stdout] | [INFO] [stdout] 612 | fn show_damage_report(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ----------------------------------------------------- other definition for `show_damage_report` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0592]: duplicate definitions with name `show_race_log` [INFO] [stdout] --> src/racing_dashboard.rs:872:5 [INFO] [stdout] | [INFO] [stdout] 872 | fn show_race_log(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ duplicate definitions for `show_race_log` [INFO] [stdout] | [INFO] [stdout] ::: src/main.rs:630:5 [INFO] [stdout] | [INFO] [stdout] 630 | fn show_race_log(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ------------------------------------------------ other definition for `show_race_log` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0592]: duplicate definitions with name `show_overview` [INFO] [stdout] --> src/racing_dashboard.rs:1127:5 [INFO] [stdout] | [INFO] [stdout] 1127 | fn show_overview(&mut self, ui: &mut egui::Ui) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ duplicate definitions for `show_overview` [INFO] [stdout] | [INFO] [stdout] ::: src/main.rs:871:5 [INFO] [stdout] | [INFO] [stdout] 871 | pub fn show_overview(&mut self, ui: &mut egui::Ui) { // 將方法改為 pub [INFO] [stdout] | -------------------------------------------------- other definition for `show_overview` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0592]: duplicate definitions with name `show_add_record` [INFO] [stdout] --> src/racing_dashboard.rs:1147:5 [INFO] [stdout] | [INFO] [stdout] 1147 | fn show_add_record(&mut self, ui: &mut egui::Ui) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ duplicate definitions for `show_add_record` [INFO] [stdout] | [INFO] [stdout] ::: src/main.rs:888:5 [INFO] [stdout] | [INFO] [stdout] 888 | pub fn show_add_record(&mut self, ui: &mut egui::Ui) { // 將方法改為 pub [INFO] [stdout] | ---------------------------------------------------- other definition for `show_add_record` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0592]: duplicate definitions with name `show_insurance_policy` [INFO] [stdout] --> src/racing_dashboard.rs:891:5 [INFO] [stdout] | [INFO] [stdout] 891 | fn show_insurance_policy(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ duplicate definitions for `show_insurance_policy` [INFO] [stdout] | [INFO] [stdout] ::: src/main.rs:649:5 [INFO] [stdout] | [INFO] [stdout] 649 | fn show_insurance_policy(&mut self, ctx: &egui::Context) { [INFO] [stdout] | -------------------------------------------------------- other definition for `show_insurance_policy` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0592]: duplicate definitions with name `show_statistics` [INFO] [stdout] --> src/racing_dashboard.rs:1192:5 [INFO] [stdout] | [INFO] [stdout] 1192 | fn show_statistics(&self, ui: &mut egui::Ui) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ duplicate definitions for `show_statistics` [INFO] [stdout] | [INFO] [stdout] ::: src/main.rs:932:5 [INFO] [stdout] | [INFO] [stdout] 932 | pub fn show_statistics(&self, ui: &mut egui::Ui) { // 將方法改為 pub [INFO] [stdout] | ------------------------------------------------ other definition for `show_statistics` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0592]: duplicate definitions with name `show_race_prediction` [INFO] [stdout] --> src/racing_dashboard.rs:910:5 [INFO] [stdout] | [INFO] [stdout] 910 | fn show_race_prediction(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ duplicate definitions for `show_race_prediction` [INFO] [stdout] | [INFO] [stdout] ::: src/main.rs:668:5 [INFO] [stdout] | [INFO] [stdout] 668 | fn show_race_prediction(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ------------------------------------------------------- other definition for `show_race_prediction` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0592]: duplicate definitions with name `show_performance_trends` [INFO] [stdout] --> src/racing_dashboard.rs:1255:5 [INFO] [stdout] | [INFO] [stdout] 1255 | fn show_performance_trends(&self, ui: &mut egui::Ui) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ duplicate definitions for `show_performance_trends` [INFO] [stdout] | [INFO] [stdout] ::: src/main.rs:987:5 [INFO] [stdout] | [INFO] [stdout] 987 | pub fn show_performance_trends(&self, ui: &mut egui::Ui) { // 將方法改為 pub [INFO] [stdout] | -------------------------------------------------------- other definition for `show_performance_trends` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0592]: duplicate definitions with name `show_test_report` [INFO] [stdout] --> src/racing_dashboard.rs:929:5 [INFO] [stdout] | [INFO] [stdout] 929 | fn show_test_report(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ duplicate definitions for `show_test_report` [INFO] [stdout] | [INFO] [stdout] ::: src/main.rs:687:5 [INFO] [stdout] | [INFO] [stdout] 687 | fn show_test_report(&mut self, ctx: &egui::Context) { [INFO] [stdout] | --------------------------------------------------- other definition for `show_test_report` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0592]: duplicate definitions with name `show_overview` [INFO] [stdout] --> src/racing_dashboard.rs:1127:5 [INFO] [stdout] | [INFO] [stdout] 1127 | fn show_overview(&mut self, ui: &mut egui::Ui) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ duplicate definitions for `show_overview` [INFO] [stdout] | [INFO] [stdout] ::: src/main.rs:871:5 [INFO] [stdout] | [INFO] [stdout] 871 | pub fn show_overview(&mut self, ui: &mut egui::Ui) { // 將方法改為 pub [INFO] [stdout] | -------------------------------------------------- other definition for `show_overview` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0592]: duplicate definitions with name `show_add_record` [INFO] [stdout] --> src/racing_dashboard.rs:1147:5 [INFO] [stdout] | [INFO] [stdout] 1147 | fn show_add_record(&mut self, ui: &mut egui::Ui) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ duplicate definitions for `show_add_record` [INFO] [stdout] | [INFO] [stdout] ::: src/main.rs:888:5 [INFO] [stdout] | [INFO] [stdout] 888 | pub fn show_add_record(&mut self, ui: &mut egui::Ui) { // 將方法改為 pub [INFO] [stdout] | ---------------------------------------------------- other definition for `show_add_record` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0592]: duplicate definitions with name `show_statistics` [INFO] [stdout] --> src/racing_dashboard.rs:1192:5 [INFO] [stdout] | [INFO] [stdout] 1192 | fn show_statistics(&self, ui: &mut egui::Ui) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ duplicate definitions for `show_statistics` [INFO] [stdout] | [INFO] [stdout] ::: src/main.rs:932:5 [INFO] [stdout] | [INFO] [stdout] 932 | pub fn show_statistics(&self, ui: &mut egui::Ui) { // 將方法改為 pub [INFO] [stdout] | ------------------------------------------------ other definition for `show_statistics` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0592]: duplicate definitions with name `show_performance_trends` [INFO] [stdout] --> src/racing_dashboard.rs:1255:5 [INFO] [stdout] | [INFO] [stdout] 1255 | fn show_performance_trends(&self, ui: &mut egui::Ui) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ duplicate definitions for `show_performance_trends` [INFO] [stdout] | [INFO] [stdout] ::: src/main.rs:987:5 [INFO] [stdout] | [INFO] [stdout] 987 | pub fn show_performance_trends(&self, ui: &mut egui::Ui) { // 將方法改為 pub [INFO] [stdout] | -------------------------------------------------------- other definition for `show_performance_trends` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0034]: multiple applicable items in scope [INFO] [stdout] --> src/racing_dashboard.rs:337:40 [INFO] [stdout] | [INFO] [stdout] 337 | dashboard.achievements = Self::init_achievements(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ multiple `init_achievements` found [INFO] [stdout] | [INFO] [stdout] note: candidate #1 is defined in an impl for the type `RacingDashboard` [INFO] [stdout] --> src/main.rs:268:5 [INFO] [stdout] | [INFO] [stdout] 268 | fn init_achievements() -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: candidate #2 is defined in an impl for the type `RacingDashboard` [INFO] [stdout] --> src/racing_dashboard.rs:509:5 [INFO] [stdout] | [INFO] [stdout] 509 | fn init_achievements() -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0034]: multiple applicable items in scope [INFO] [stdout] --> src/racing_dashboard.rs:337:40 [INFO] [stdout] | [INFO] [stdout] 337 | dashboard.achievements = Self::init_achievements(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ multiple `init_achievements` found [INFO] [stdout] | [INFO] [stdout] note: candidate #1 is defined in an impl for the type `RacingDashboard` [INFO] [stdout] --> src/main.rs:268:5 [INFO] [stdout] | [INFO] [stdout] 268 | fn init_achievements() -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: candidate #2 is defined in an impl for the type `RacingDashboard` [INFO] [stdout] --> src/racing_dashboard.rs:509:5 [INFO] [stdout] | [INFO] [stdout] 509 | fn init_achievements() -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0034]: multiple applicable items in scope [INFO] [stdout] --> src/racing_dashboard.rs:368:47 [INFO] [stdout] | [INFO] [stdout] 368 | let performance_impact = self.calculate_weather_impact(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ multiple `calculate_weather_impact` found [INFO] [stdout] | [INFO] [stdout] note: candidate #1 is defined in an impl for the type `RacingDashboard` [INFO] [stdout] --> src/main.rs:128:5 [INFO] [stdout] | [INFO] [stdout] 128 | fn calculate_weather_impact(&self) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: candidate #2 is defined in an impl for the type `RacingDashboard` [INFO] [stdout] --> src/racing_dashboard.rs:373:5 [INFO] [stdout] | [INFO] [stdout] 373 | fn calculate_weather_impact(&self) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0034]: multiple applicable items in scope [INFO] [stdout] --> src/racing_dashboard.rs:368:47 [INFO] [stdout] | [INFO] [stdout] 368 | let performance_impact = self.calculate_weather_impact(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ multiple `calculate_weather_impact` found [INFO] [stdout] | [INFO] [stdout] note: candidate #1 is defined in an impl for the type `RacingDashboard` [INFO] [stdout] --> src/main.rs:128:5 [INFO] [stdout] | [INFO] [stdout] 128 | fn calculate_weather_impact(&self) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: candidate #2 is defined in an impl for the type `RacingDashboard` [INFO] [stdout] --> src/racing_dashboard.rs:373:5 [INFO] [stdout] | [INFO] [stdout] 373 | fn calculate_weather_impact(&self) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0034]: multiple applicable items in scope [INFO] [stdout] --> src/racing_dashboard.rs:441:22 [INFO] [stdout] | [INFO] [stdout] 441 | self.show_season_overview(ui); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ multiple `show_season_overview` found [INFO] [stdout] | [INFO] [stdout] note: candidate #1 is defined in an impl for the type `RacingDashboard` [INFO] [stdout] --> src/main.rs:213:5 [INFO] [stdout] | [INFO] [stdout] 213 | fn show_season_overview(&mut self, ui: &mut egui::Ui) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: candidate #2 is defined in an impl for the type `RacingDashboard` [INFO] [stdout] --> src/racing_dashboard.rs:452:5 [INFO] [stdout] | [INFO] [stdout] 452 | fn show_season_overview(&mut self, ui: &mut egui::Ui) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0034]: multiple applicable items in scope [INFO] [stdout] --> src/racing_dashboard.rs:444:22 [INFO] [stdout] | [INFO] [stdout] 444 | self.show_season_standings(ui); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ multiple `show_season_standings` found [INFO] [stdout] | [INFO] [stdout] note: candidate #1 is defined in an impl for the type `RacingDashboard` [INFO] [stdout] --> src/racing_dashboard.rs:950:5 [INFO] [stdout] | [INFO] [stdout] 950 | fn show_season_standings(&mut self, ui: &mut egui::Ui) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: candidate #2 is defined in an impl for the type `RacingDashboard` [INFO] [stdout] --> src/racing_dashboard.rs:1275:5 [INFO] [stdout] | [INFO] [stdout] 1275 | fn show_season_standings(&mut self, ui: &mut egui::Ui) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0034]: multiple applicable items in scope [INFO] [stdout] --> src/racing_dashboard.rs:447:22 [INFO] [stdout] | [INFO] [stdout] 447 | self.show_season_statistics(ui); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ multiple `show_season_statistics` found [INFO] [stdout] | [INFO] [stdout] note: candidate #1 is defined in an impl for the type `RacingDashboard` [INFO] [stdout] --> src/racing_dashboard.rs:963:5 [INFO] [stdout] | [INFO] [stdout] 963 | fn show_season_statistics(&mut self, ui: &mut egui::Ui) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: candidate #2 is defined in an impl for the type `RacingDashboard` [INFO] [stdout] --> src/racing_dashboard.rs:1280:5 [INFO] [stdout] | [INFO] [stdout] 1280 | fn show_season_statistics(&mut self, ui: &mut egui::Ui) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0034]: multiple applicable items in scope [INFO] [stdout] --> src/racing_dashboard.rs:441:22 [INFO] [stdout] | [INFO] [stdout] 441 | self.show_season_overview(ui); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ multiple `show_season_overview` found [INFO] [stdout] | [INFO] [stdout] note: candidate #1 is defined in an impl for the type `RacingDashboard` [INFO] [stdout] --> src/main.rs:213:5 [INFO] [stdout] | [INFO] [stdout] 213 | fn show_season_overview(&mut self, ui: &mut egui::Ui) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: candidate #2 is defined in an impl for the type `RacingDashboard` [INFO] [stdout] --> src/racing_dashboard.rs:452:5 [INFO] [stdout] | [INFO] [stdout] 452 | fn show_season_overview(&mut self, ui: &mut egui::Ui) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0034]: multiple applicable items in scope [INFO] [stdout] --> src/racing_dashboard.rs:444:22 [INFO] [stdout] | [INFO] [stdout] 444 | self.show_season_standings(ui); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ multiple `show_season_standings` found [INFO] [stdout] | [INFO] [stdout] note: candidate #1 is defined in an impl for the type `RacingDashboard` [INFO] [stdout] --> src/racing_dashboard.rs:950:5 [INFO] [stdout] | [INFO] [stdout] 950 | fn show_season_standings(&mut self, ui: &mut egui::Ui) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: candidate #2 is defined in an impl for the type `RacingDashboard` [INFO] [stdout] --> src/racing_dashboard.rs:1275:5 [INFO] [stdout] | [INFO] [stdout] 1275 | fn show_season_standings(&mut self, ui: &mut egui::Ui) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0034]: multiple applicable items in scope [INFO] [stdout] --> src/racing_dashboard.rs:447:22 [INFO] [stdout] | [INFO] [stdout] 447 | self.show_season_statistics(ui); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ multiple `show_season_statistics` found [INFO] [stdout] | [INFO] [stdout] note: candidate #1 is defined in an impl for the type `RacingDashboard` [INFO] [stdout] --> src/racing_dashboard.rs:963:5 [INFO] [stdout] | [INFO] [stdout] 963 | fn show_season_statistics(&mut self, ui: &mut egui::Ui) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: candidate #2 is defined in an impl for the type `RacingDashboard` [INFO] [stdout] --> src/racing_dashboard.rs:1280:5 [INFO] [stdout] | [INFO] [stdout] 1280 | fn show_season_statistics(&mut self, ui: &mut egui::Ui) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0034]: multiple applicable items in scope [INFO] [stdout] --> src/racing_dashboard.rs:561:47 [INFO] [stdout] | [INFO] [stdout] 561 | MaintenanceTab::Scheduled => self.show_scheduled_maintenance(ui), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ multiple `show_scheduled_maintenance` found [INFO] [stdout] | [INFO] [stdout] note: candidate #1 is defined in an impl for the type `RacingDashboard` [INFO] [stdout] --> src/racing_dashboard.rs:991:5 [INFO] [stdout] | [INFO] [stdout] 991 | fn show_scheduled_maintenance(&mut self, ui: &mut egui::Ui) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: candidate #2 is defined in an impl for the type `RacingDashboard` [INFO] [stdout] --> src/racing_dashboard.rs:1285:5 [INFO] [stdout] | [INFO] [stdout] 1285 | fn show_scheduled_maintenance(&mut self, ui: &mut egui::Ui) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0034]: multiple applicable items in scope [INFO] [stdout] --> src/racing_dashboard.rs:562:45 [INFO] [stdout] | [INFO] [stdout] 562 | MaintenanceTab::History => self.show_maintenance_history(ui), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ multiple `show_maintenance_history` found [INFO] [stdout] | [INFO] [stdout] note: candidate #1 is defined in an impl for the type `RacingDashboard` [INFO] [stdout] --> src/racing_dashboard.rs:1006:5 [INFO] [stdout] | [INFO] [stdout] 1006 | fn show_maintenance_history(&mut self, ui: &mut egui::Ui) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: candidate #2 is defined in an impl for the type `RacingDashboard` [INFO] [stdout] --> src/racing_dashboard.rs:1290:5 [INFO] [stdout] | [INFO] [stdout] 1290 | fn show_maintenance_history(&mut self, ui: &mut egui::Ui) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0034]: multiple applicable items in scope [INFO] [stdout] --> src/racing_dashboard.rs:563:43 [INFO] [stdout] | [INFO] [stdout] 563 | MaintenanceTab::Costs => self.show_maintenance_costs(ui), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ multiple `show_maintenance_costs` found [INFO] [stdout] | [INFO] [stdout] note: candidate #1 is defined in an impl for the type `RacingDashboard` [INFO] [stdout] --> src/racing_dashboard.rs:1019:5 [INFO] [stdout] | [INFO] [stdout] 1019 | fn show_maintenance_costs(&mut self, ui: &mut egui::Ui) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: candidate #2 is defined in an impl for the type `RacingDashboard` [INFO] [stdout] --> src/racing_dashboard.rs:1295:5 [INFO] [stdout] | [INFO] [stdout] 1295 | fn show_maintenance_costs(&mut self, ui: &mut egui::Ui) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `time` on type `&WeatherForecast` [INFO] [stdout] --> src/racing_dashboard.rs:588:67 [INFO] [stdout] | [INFO] [stdout] 588 | ... ui.label(format!("Time: {}", forecast.time.format("%H:%M"))); [INFO] [stdout] | ^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `cars`, `points`, `budget`, `sponsors` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `temperature` on type `&WeatherForecast` [INFO] [stdout] --> src/racing_dashboard.rs:589:79 [INFO] [stdout] | [INFO] [stdout] 589 | ... ui.label(format!("Temperature: {:.1}°C", forecast.temperature)); [INFO] [stdout] | ^^^^^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `cars`, `points`, `budget`, `sponsors` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `track_temperature` on type `&WeatherForecast` [INFO] [stdout] --> src/racing_dashboard.rs:590:78 [INFO] [stdout] | [INFO] [stdout] 590 | ... ui.label(format!("Track Temp: {:.1}°C", forecast.track_temperature)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `cars`, `points`, `budget`, `sponsors` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `precipitation_chance` on type `&WeatherForecast` [INFO] [stdout] --> src/racing_dashboard.rs:591:78 [INFO] [stdout] | [INFO] [stdout] 591 | ... ui.label(format!("Rain Chance: {:.1}%", forecast.precipitation_chance)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `cars`, `points`, `budget`, `sponsors` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `temperature` on type `&WeatherForecast` [INFO] [stdout] --> src/racing_dashboard.rs:595:42 [INFO] [stdout] | [INFO] [stdout] 595 | ... forecast.temperature, [INFO] [stdout] | ^^^^^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `cars`, `points`, `budget`, `sponsors` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `humidity` on type `&WeatherForecast` [INFO] [stdout] --> src/racing_dashboard.rs:596:42 [INFO] [stdout] | [INFO] [stdout] 596 | ... forecast.humidity, [INFO] [stdout] | ^^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `cars`, `points`, `budget`, `sponsors` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `wind_speed` on type `&WeatherForecast` [INFO] [stdout] --> src/racing_dashboard.rs:597:42 [INFO] [stdout] | [INFO] [stdout] 597 | ... forecast.wind_speed, [INFO] [stdout] | ^^^^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `cars`, `points`, `budget`, `sponsors` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `track_temperature` on type `&WeatherForecast` [INFO] [stdout] --> src/racing_dashboard.rs:598:42 [INFO] [stdout] | [INFO] [stdout] 598 | ... forecast.track_temperature, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `cars`, `points`, `budget`, `sponsors` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0034]: multiple applicable items in scope [INFO] [stdout] --> src/racing_dashboard.rs:561:47 [INFO] [stdout] | [INFO] [stdout] 561 | MaintenanceTab::Scheduled => self.show_scheduled_maintenance(ui), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ multiple `show_scheduled_maintenance` found [INFO] [stdout] | [INFO] [stdout] note: candidate #1 is defined in an impl for the type `RacingDashboard` [INFO] [stdout] --> src/racing_dashboard.rs:991:5 [INFO] [stdout] | [INFO] [stdout] 991 | fn show_scheduled_maintenance(&mut self, ui: &mut egui::Ui) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: candidate #2 is defined in an impl for the type `RacingDashboard` [INFO] [stdout] --> src/racing_dashboard.rs:1285:5 [INFO] [stdout] | [INFO] [stdout] 1285 | fn show_scheduled_maintenance(&mut self, ui: &mut egui::Ui) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0034]: multiple applicable items in scope [INFO] [stdout] --> src/racing_dashboard.rs:562:45 [INFO] [stdout] | [INFO] [stdout] 562 | MaintenanceTab::History => self.show_maintenance_history(ui), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ multiple `show_maintenance_history` found [INFO] [stdout] | [INFO] [stdout] note: candidate #1 is defined in an impl for the type `RacingDashboard` [INFO] [stdout] --> src/racing_dashboard.rs:1006:5 [INFO] [stdout] | [INFO] [stdout] 1006 | fn show_maintenance_history(&mut self, ui: &mut egui::Ui) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: candidate #2 is defined in an impl for the type `RacingDashboard` [INFO] [stdout] --> src/racing_dashboard.rs:1290:5 [INFO] [stdout] | [INFO] [stdout] 1290 | fn show_maintenance_history(&mut self, ui: &mut egui::Ui) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0034]: multiple applicable items in scope [INFO] [stdout] --> src/racing_dashboard.rs:563:43 [INFO] [stdout] | [INFO] [stdout] 563 | MaintenanceTab::Costs => self.show_maintenance_costs(ui), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ multiple `show_maintenance_costs` found [INFO] [stdout] | [INFO] [stdout] note: candidate #1 is defined in an impl for the type `RacingDashboard` [INFO] [stdout] --> src/racing_dashboard.rs:1019:5 [INFO] [stdout] | [INFO] [stdout] 1019 | fn show_maintenance_costs(&mut self, ui: &mut egui::Ui) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: candidate #2 is defined in an impl for the type `RacingDashboard` [INFO] [stdout] --> src/racing_dashboard.rs:1295:5 [INFO] [stdout] | [INFO] [stdout] 1295 | fn show_maintenance_costs(&mut self, ui: &mut egui::Ui) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `time` on type `&WeatherForecast` [INFO] [stdout] --> src/racing_dashboard.rs:588:67 [INFO] [stdout] | [INFO] [stdout] 588 | ... ui.label(format!("Time: {}", forecast.time.format("%H:%M"))); [INFO] [stdout] | ^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `cars`, `points`, `budget`, `sponsors` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `temperature` on type `&WeatherForecast` [INFO] [stdout] --> src/racing_dashboard.rs:589:79 [INFO] [stdout] | [INFO] [stdout] 589 | ... ui.label(format!("Temperature: {:.1}°C", forecast.temperature)); [INFO] [stdout] | ^^^^^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `cars`, `points`, `budget`, `sponsors` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `track_temperature` on type `&WeatherForecast` [INFO] [stdout] --> src/racing_dashboard.rs:590:78 [INFO] [stdout] | [INFO] [stdout] 590 | ... ui.label(format!("Track Temp: {:.1}°C", forecast.track_temperature)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `cars`, `points`, `budget`, `sponsors` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `precipitation_chance` on type `&WeatherForecast` [INFO] [stdout] --> src/racing_dashboard.rs:591:78 [INFO] [stdout] | [INFO] [stdout] 591 | ... ui.label(format!("Rain Chance: {:.1}%", forecast.precipitation_chance)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `cars`, `points`, `budget`, `sponsors` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `temperature` on type `&WeatherForecast` [INFO] [stdout] --> src/racing_dashboard.rs:595:42 [INFO] [stdout] | [INFO] [stdout] 595 | ... forecast.temperature, [INFO] [stdout] | ^^^^^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `cars`, `points`, `budget`, `sponsors` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `humidity` on type `&WeatherForecast` [INFO] [stdout] --> src/racing_dashboard.rs:596:42 [INFO] [stdout] | [INFO] [stdout] 596 | ... forecast.humidity, [INFO] [stdout] | ^^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `cars`, `points`, `budget`, `sponsors` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `wind_speed` on type `&WeatherForecast` [INFO] [stdout] --> src/racing_dashboard.rs:597:42 [INFO] [stdout] | [INFO] [stdout] 597 | ... forecast.wind_speed, [INFO] [stdout] | ^^^^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `cars`, `points`, `budget`, `sponsors` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `track_temperature` on type `&WeatherForecast` [INFO] [stdout] --> src/racing_dashboard.rs:598:42 [INFO] [stdout] | [INFO] [stdout] 598 | ... forecast.track_temperature, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `cars`, `points`, `budget`, `sponsors` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0034]: multiple applicable items in scope [INFO] [stdout] --> src/racing_dashboard.rs:784:38 [INFO] [stdout] | [INFO] [stdout] 784 | ... self.apply_upgrade(upgrade); [INFO] [stdout] | ^^^^^^^^^^^^^ multiple `apply_upgrade` found [INFO] [stdout] | [INFO] [stdout] note: candidate #1 is defined in an impl for the type `RacingDashboard` [INFO] [stdout] --> src/main.rs:550:5 [INFO] [stdout] | [INFO] [stdout] 550 | fn apply_upgrade(&mut self, upgrade: &CarUpgrade) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: candidate #2 is defined in an impl for the type `RacingDashboard` [INFO] [stdout] --> src/racing_dashboard.rs:792:5 [INFO] [stdout] | [INFO] [stdout] 792 | fn apply_upgrade(&mut self, upgrade: &CarUpgrade) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `tire_change` on type `&PitStop` [INFO] [stdout] --> src/racing_dashboard.rs:811:60 [INFO] [stdout] | [INFO] [stdout] 811 | ... pit_stop.lap, pit_stop.tire_change, pit_stop.fuel_added)); [INFO] [stdout] | ^^^^^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available field is: `lap` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `fuel_added` on type `&PitStop` [INFO] [stdout] --> src/racing_dashboard.rs:811:82 [INFO] [stdout] | [INFO] [stdout] 811 | ... pit_stop.lap, pit_stop.tire_change, pit_stop.fuel_added)); [INFO] [stdout] | ^^^^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available field is: `lap` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0034]: multiple applicable items in scope [INFO] [stdout] --> src/racing_dashboard.rs:784:38 [INFO] [stdout] | [INFO] [stdout] 784 | ... self.apply_upgrade(upgrade); [INFO] [stdout] | ^^^^^^^^^^^^^ multiple `apply_upgrade` found [INFO] [stdout] | [INFO] [stdout] note: candidate #1 is defined in an impl for the type `RacingDashboard` [INFO] [stdout] --> src/main.rs:550:5 [INFO] [stdout] | [INFO] [stdout] 550 | fn apply_upgrade(&mut self, upgrade: &CarUpgrade) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: candidate #2 is defined in an impl for the type `RacingDashboard` [INFO] [stdout] --> src/racing_dashboard.rs:792:5 [INFO] [stdout] | [INFO] [stdout] 792 | fn apply_upgrade(&mut self, upgrade: &CarUpgrade) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `tire_change` on type `&PitStop` [INFO] [stdout] --> src/racing_dashboard.rs:811:60 [INFO] [stdout] | [INFO] [stdout] 811 | ... pit_stop.lap, pit_stop.tire_change, pit_stop.fuel_added)); [INFO] [stdout] | ^^^^^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available field is: `lap` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `fuel_added` on type `&PitStop` [INFO] [stdout] --> src/racing_dashboard.rs:811:82 [INFO] [stdout] | [INFO] [stdout] 811 | ... pit_stop.lap, pit_stop.tire_change, pit_stop.fuel_added)); [INFO] [stdout] | ^^^^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available field is: `lap` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `next_maintenance_due` on type `&MaintenanceRecord` [INFO] [stdout] --> src/racing_dashboard.rs:996:23 [INFO] [stdout] | [INFO] [stdout] 996 | if record.next_maintenance_due > now { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `incident_type`, `description`, `damage_level`, `repair_cost` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `component` on type `&MaintenanceRecord` [INFO] [stdout] --> src/racing_dashboard.rs:998:62 [INFO] [stdout] | [INFO] [stdout] 998 | ui.label(format!("Component: {}", record.component)); [INFO] [stdout] | ^^^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `incident_type`, `description`, `damage_level`, `repair_cost` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `next_maintenance_due` on type `&MaintenanceRecord` [INFO] [stdout] --> src/racing_dashboard.rs:999:61 [INFO] [stdout] | [INFO] [stdout] 999 | ui.label(format!("Work Due: {}", record.next_maintenance_due.format("%Y-%m-%d"))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `incident_type`, `description`, `damage_level`, `repair_cost` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `cost` on type `&MaintenanceRecord` [INFO] [stdout] --> src/racing_dashboard.rs:1000:71 [INFO] [stdout] | [INFO] [stdout] 1000 | ui.label(format!("Estimated Cost: ${:.2}", record.cost)); [INFO] [stdout] | ^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `incident_type`, `description`, `damage_level`, `repair_cost` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `date` on type `&MaintenanceRecord` [INFO] [stdout] --> src/racing_dashboard.rs:1011:53 [INFO] [stdout] | [INFO] [stdout] 1011 | ui.label(format!("Date: {}", record.date.format("%Y-%m-%d"))); [INFO] [stdout] | ^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `incident_type`, `description`, `damage_level`, `repair_cost` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `component` on type `&MaintenanceRecord` [INFO] [stdout] --> src/racing_dashboard.rs:1012:58 [INFO] [stdout] | [INFO] [stdout] 1012 | ui.label(format!("Component: {}", record.component)); [INFO] [stdout] | ^^^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `incident_type`, `description`, `damage_level`, `repair_cost` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `work_done` on type `&MaintenanceRecord` [INFO] [stdout] --> src/racing_dashboard.rs:1013:58 [INFO] [stdout] | [INFO] [stdout] 1013 | ui.label(format!("Work Done: {}", record.work_done)); [INFO] [stdout] | ^^^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `incident_type`, `description`, `damage_level`, `repair_cost` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `cost` on type `&MaintenanceRecord` [INFO] [stdout] --> src/racing_dashboard.rs:1014:57 [INFO] [stdout] | [INFO] [stdout] 1014 | ui.label(format!("Cost: ${:.2}", record.cost)); [INFO] [stdout] | ^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `incident_type`, `description`, `damage_level`, `repair_cost` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `cost` on type `&MaintenanceRecord` [INFO] [stdout] --> src/racing_dashboard.rs:1023:24 [INFO] [stdout] | [INFO] [stdout] 1023 | .map(|r| r.cost) [INFO] [stdout] | ^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `incident_type`, `description`, `damage_level`, `repair_cost` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `next_maintenance_due` on type `&MaintenanceRecord` [INFO] [stdout] --> src/racing_dashboard.rs:996:23 [INFO] [stdout] | [INFO] [stdout] 996 | if record.next_maintenance_due > now { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `incident_type`, `description`, `damage_level`, `repair_cost` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `component` on type `&MaintenanceRecord` [INFO] [stdout] --> src/racing_dashboard.rs:998:62 [INFO] [stdout] | [INFO] [stdout] 998 | ui.label(format!("Component: {}", record.component)); [INFO] [stdout] | ^^^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `incident_type`, `description`, `damage_level`, `repair_cost` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `next_maintenance_due` on type `&MaintenanceRecord` [INFO] [stdout] --> src/racing_dashboard.rs:999:61 [INFO] [stdout] | [INFO] [stdout] 999 | ui.label(format!("Work Due: {}", record.next_maintenance_due.format("%Y-%m-%d"))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `incident_type`, `description`, `damage_level`, `repair_cost` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `cost` on type `&MaintenanceRecord` [INFO] [stdout] --> src/racing_dashboard.rs:1000:71 [INFO] [stdout] | [INFO] [stdout] 1000 | ui.label(format!("Estimated Cost: ${:.2}", record.cost)); [INFO] [stdout] | ^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `incident_type`, `description`, `damage_level`, `repair_cost` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `date` on type `&MaintenanceRecord` [INFO] [stdout] --> src/racing_dashboard.rs:1011:53 [INFO] [stdout] | [INFO] [stdout] 1011 | ui.label(format!("Date: {}", record.date.format("%Y-%m-%d"))); [INFO] [stdout] | ^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `incident_type`, `description`, `damage_level`, `repair_cost` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `component` on type `&MaintenanceRecord` [INFO] [stdout] --> src/racing_dashboard.rs:1012:58 [INFO] [stdout] | [INFO] [stdout] 1012 | ui.label(format!("Component: {}", record.component)); [INFO] [stdout] | ^^^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `incident_type`, `description`, `damage_level`, `repair_cost` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `work_done` on type `&MaintenanceRecord` [INFO] [stdout] --> src/racing_dashboard.rs:1013:58 [INFO] [stdout] | [INFO] [stdout] 1013 | ui.label(format!("Work Done: {}", record.work_done)); [INFO] [stdout] | ^^^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `incident_type`, `description`, `damage_level`, `repair_cost` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `cost` on type `&MaintenanceRecord` [INFO] [stdout] --> src/racing_dashboard.rs:1014:57 [INFO] [stdout] | [INFO] [stdout] 1014 | ui.label(format!("Cost: ${:.2}", record.cost)); [INFO] [stdout] | ^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `incident_type`, `description`, `damage_level`, `repair_cost` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `cost` on type `&MaintenanceRecord` [INFO] [stdout] --> src/racing_dashboard.rs:1023:24 [INFO] [stdout] | [INFO] [stdout] 1023 | .map(|r| r.cost) [INFO] [stdout] | ^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `incident_type`, `description`, `damage_level`, `repair_cost` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `component` on type `&MaintenanceRecord` [INFO] [stdout] --> src/racing_dashboard.rs:1029:36 [INFO] [stdout] | [INFO] [stdout] 1029 | *map.entry(&record.component).or_default() += record.cost; [INFO] [stdout] | ^^^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `incident_type`, `description`, `damage_level`, `repair_cost` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `cost` on type `&MaintenanceRecord` [INFO] [stdout] --> src/racing_dashboard.rs:1029:70 [INFO] [stdout] | [INFO] [stdout] 1029 | *map.entry(&record.component).or_default() += record.cost; [INFO] [stdout] | ^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `incident_type`, `description`, `damage_level`, `repair_cost` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `component` on type `&MaintenanceRecord` [INFO] [stdout] --> src/racing_dashboard.rs:1029:36 [INFO] [stdout] | [INFO] [stdout] 1029 | *map.entry(&record.component).or_default() += record.cost; [INFO] [stdout] | ^^^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `incident_type`, `description`, `damage_level`, `repair_cost` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `cost` on type `&MaintenanceRecord` [INFO] [stdout] --> src/racing_dashboard.rs:1029:70 [INFO] [stdout] | [INFO] [stdout] 1029 | *map.entry(&record.component).or_default() += record.cost; [INFO] [stdout] | ^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `incident_type`, `description`, `damage_level`, `repair_cost` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0034]: multiple applicable items in scope [INFO] [stdout] --> src/racing_dashboard.rs:1099:39 [INFO] [stdout] | [INFO] [stdout] 1099 | Tab::Overview => self.show_overview(ui), [INFO] [stdout] | ^^^^^^^^^^^^^ multiple `show_overview` found [INFO] [stdout] | [INFO] [stdout] note: candidate #1 is defined in an impl for the type `RacingDashboard` [INFO] [stdout] --> src/main.rs:871:5 [INFO] [stdout] | [INFO] [stdout] 871 | pub fn show_overview(&mut self, ui: &mut egui::Ui) { // 將方法改為 pub [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: candidate #2 is defined in an impl for the type `RacingDashboard` [INFO] [stdout] --> src/racing_dashboard.rs:1127:5 [INFO] [stdout] | [INFO] [stdout] 1127 | fn show_overview(&mut self, ui: &mut egui::Ui) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0034]: multiple applicable items in scope [INFO] [stdout] --> src/racing_dashboard.rs:1100:40 [INFO] [stdout] | [INFO] [stdout] 1100 | Tab::AddRecord => self.show_add_record(ui), [INFO] [stdout] | ^^^^^^^^^^^^^^^ multiple `show_add_record` found [INFO] [stdout] | [INFO] [stdout] note: candidate #1 is defined in an impl for the type `RacingDashboard` [INFO] [stdout] --> src/main.rs:888:5 [INFO] [stdout] | [INFO] [stdout] 888 | pub fn show_add_record(&mut self, ui: &mut egui::Ui) { // 將方法改為 pub [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: candidate #2 is defined in an impl for the type `RacingDashboard` [INFO] [stdout] --> src/racing_dashboard.rs:1147:5 [INFO] [stdout] | [INFO] [stdout] 1147 | fn show_add_record(&mut self, ui: &mut egui::Ui) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0034]: multiple applicable items in scope [INFO] [stdout] --> src/racing_dashboard.rs:1101:41 [INFO] [stdout] | [INFO] [stdout] 1101 | Tab::Statistics => self.show_statistics(ui), [INFO] [stdout] | ^^^^^^^^^^^^^^^ multiple `show_statistics` found [INFO] [stdout] | [INFO] [stdout] note: candidate #1 is defined in an impl for the type `RacingDashboard` [INFO] [stdout] --> src/main.rs:932:5 [INFO] [stdout] | [INFO] [stdout] 932 | pub fn show_statistics(&self, ui: &mut egui::Ui) { // 將方法改為 pub [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: candidate #2 is defined in an impl for the type `RacingDashboard` [INFO] [stdout] --> src/racing_dashboard.rs:1192:5 [INFO] [stdout] | [INFO] [stdout] 1192 | fn show_statistics(&self, ui: &mut egui::Ui) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0034]: multiple applicable items in scope [INFO] [stdout] --> src/racing_dashboard.rs:1105:14 [INFO] [stdout] | [INFO] [stdout] 1105 | self.show_setup_window(ctx); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ multiple `show_setup_window` found [INFO] [stdout] | [INFO] [stdout] note: candidate #1 is defined in an impl for the type `RacingDashboard` [INFO] [stdout] --> src/main.rs:92:5 [INFO] [stdout] | [INFO] [stdout] 92 | fn show_setup_window(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: candidate #2 is defined in an impl for the type `RacingDashboard` [INFO] [stdout] --> src/racing_dashboard.rs:341:5 [INFO] [stdout] | [INFO] [stdout] 341 | fn show_setup_window(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0034]: multiple applicable items in scope [INFO] [stdout] --> src/racing_dashboard.rs:1106:14 [INFO] [stdout] | [INFO] [stdout] 1106 | self.show_weather_effects(ctx); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ multiple `show_weather_effects` found [INFO] [stdout] | [INFO] [stdout] note: candidate #1 is defined in an impl for the type `RacingDashboard` [INFO] [stdout] --> src/main.rs:112:5 [INFO] [stdout] | [INFO] [stdout] 112 | fn show_weather_effects(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: candidate #2 is defined in an impl for the type `RacingDashboard` [INFO] [stdout] --> src/racing_dashboard.rs:359:5 [INFO] [stdout] | [INFO] [stdout] 359 | fn show_weather_effects(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0034]: multiple applicable items in scope [INFO] [stdout] --> src/racing_dashboard.rs:1107:14 [INFO] [stdout] | [INFO] [stdout] 1107 | self.show_achievements(ctx); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ multiple `show_achievements` found [INFO] [stdout] | [INFO] [stdout] note: candidate #1 is defined in an impl for the type `RacingDashboard` [INFO] [stdout] --> src/main.rs:138:5 [INFO] [stdout] | [INFO] [stdout] 138 | fn show_achievements(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: candidate #2 is defined in an impl for the type `RacingDashboard` [INFO] [stdout] --> src/racing_dashboard.rs:380:5 [INFO] [stdout] | [INFO] [stdout] 380 | fn show_achievements(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0034]: multiple applicable items in scope [INFO] [stdout] --> src/racing_dashboard.rs:1108:14 [INFO] [stdout] | [INFO] [stdout] 1108 | self.show_incident_report(ctx); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ multiple `show_incident_report` found [INFO] [stdout] | [INFO] [stdout] note: candidate #1 is defined in an impl for the type `RacingDashboard` [INFO] [stdout] --> src/main.rs:325:5 [INFO] [stdout] | [INFO] [stdout] 325 | fn show_incident_report(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: candidate #2 is defined in an impl for the type `RacingDashboard` [INFO] [stdout] --> src/racing_dashboard.rs:567:5 [INFO] [stdout] | [INFO] [stdout] 567 | fn show_incident_report(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0034]: multiple applicable items in scope [INFO] [stdout] --> src/racing_dashboard.rs:1109:14 [INFO] [stdout] | [INFO] [stdout] 1109 | self.show_weather_forecast(ctx); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ multiple `show_weather_forecast` found [INFO] [stdout] | [INFO] [stdout] note: candidate #1 is defined in an impl for the type `RacingDashboard` [INFO] [stdout] --> src/main.rs:337:5 [INFO] [stdout] | [INFO] [stdout] 337 | fn show_weather_forecast(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: candidate #2 is defined in an impl for the type `RacingDashboard` [INFO] [stdout] --> src/racing_dashboard.rs:579:5 [INFO] [stdout] | [INFO] [stdout] 579 | fn show_weather_forecast(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0034]: multiple applicable items in scope [INFO] [stdout] --> src/racing_dashboard.rs:1110:14 [INFO] [stdout] | [INFO] [stdout] 1110 | self.show_driver_management(ctx); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ multiple `show_driver_management` found [INFO] [stdout] | [INFO] [stdout] note: candidate #1 is defined in an impl for the type `RacingDashboard` [INFO] [stdout] --> src/main.rs:370:5 [INFO] [stdout] | [INFO] [stdout] 370 | fn show_driver_management(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: candidate #2 is defined in an impl for the type `RacingDashboard` [INFO] [stdout] --> src/racing_dashboard.rs:612:5 [INFO] [stdout] | [INFO] [stdout] 612 | fn show_driver_management(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0034]: multiple applicable items in scope [INFO] [stdout] --> src/racing_dashboard.rs:1111:14 [INFO] [stdout] | [INFO] [stdout] 1111 | self.show_track_analysis(ctx); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ multiple `show_track_analysis` found [INFO] [stdout] | [INFO] [stdout] note: candidate #1 is defined in an impl for the type `RacingDashboard` [INFO] [stdout] --> src/main.rs:401:5 [INFO] [stdout] | [INFO] [stdout] 401 | fn show_track_analysis(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: candidate #2 is defined in an impl for the type `RacingDashboard` [INFO] [stdout] --> src/racing_dashboard.rs:643:5 [INFO] [stdout] | [INFO] [stdout] 643 | fn show_track_analysis(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0034]: multiple applicable items in scope [INFO] [stdout] --> src/racing_dashboard.rs:1112:14 [INFO] [stdout] | [INFO] [stdout] 1112 | self.show_team_management(ctx); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ multiple `show_team_management` found [INFO] [stdout] | [INFO] [stdout] note: candidate #1 is defined in an impl for the type `RacingDashboard` [INFO] [stdout] --> src/main.rs:443:5 [INFO] [stdout] | [INFO] [stdout] 443 | fn show_team_management(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: candidate #2 is defined in an impl for the type `RacingDashboard` [INFO] [stdout] --> src/racing_dashboard.rs:685:5 [INFO] [stdout] | [INFO] [stdout] 685 | fn show_team_management(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0034]: multiple applicable items in scope [INFO] [stdout] --> src/racing_dashboard.rs:1113:14 [INFO] [stdout] | [INFO] [stdout] 1113 | self.show_performance_analysis(ctx); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ multiple `show_performance_analysis` found [INFO] [stdout] | [INFO] [stdout] note: candidate #1 is defined in an impl for the type `RacingDashboard` [INFO] [stdout] --> src/main.rs:479:5 [INFO] [stdout] | [INFO] [stdout] 479 | fn show_performance_analysis(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: candidate #2 is defined in an impl for the type `RacingDashboard` [INFO] [stdout] --> src/racing_dashboard.rs:721:5 [INFO] [stdout] | [INFO] [stdout] 721 | fn show_performance_analysis(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0034]: multiple applicable items in scope [INFO] [stdout] --> src/racing_dashboard.rs:1114:14 [INFO] [stdout] | [INFO] [stdout] 1114 | self.show_race_replay(ctx); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ multiple `show_race_replay` found [INFO] [stdout] | [INFO] [stdout] note: candidate #1 is defined in an impl for the type `RacingDashboard` [INFO] [stdout] --> src/main.rs:508:5 [INFO] [stdout] | [INFO] [stdout] 508 | fn show_race_replay(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: candidate #2 is defined in an impl for the type `RacingDashboard` [INFO] [stdout] --> src/racing_dashboard.rs:750:5 [INFO] [stdout] | [INFO] [stdout] 750 | fn show_race_replay(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0034]: multiple applicable items in scope [INFO] [stdout] --> src/racing_dashboard.rs:1115:14 [INFO] [stdout] | [INFO] [stdout] 1115 | self.show_car_upgrade(ctx); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ multiple `show_car_upgrade` found [INFO] [stdout] | [INFO] [stdout] note: candidate #1 is defined in an impl for the type `RacingDashboard` [INFO] [stdout] --> src/main.rs:527:5 [INFO] [stdout] | [INFO] [stdout] 527 | fn show_car_upgrade(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: candidate #2 is defined in an impl for the type `RacingDashboard` [INFO] [stdout] --> src/racing_dashboard.rs:769:5 [INFO] [stdout] | [INFO] [stdout] 769 | fn show_car_upgrade(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0034]: multiple applicable items in scope [INFO] [stdout] --> src/racing_dashboard.rs:1116:14 [INFO] [stdout] | [INFO] [stdout] 1116 | self.show_race_strategy(ctx); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ multiple `show_race_strategy` found [INFO] [stdout] | [INFO] [stdout] note: candidate #1 is defined in an impl for the type `RacingDashboard` [INFO] [stdout] --> src/main.rs:557:5 [INFO] [stdout] | [INFO] [stdout] 557 | fn show_race_strategy(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: candidate #2 is defined in an impl for the type `RacingDashboard` [INFO] [stdout] --> src/racing_dashboard.rs:799:5 [INFO] [stdout] | [INFO] [stdout] 799 | fn show_race_strategy(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0034]: multiple applicable items in scope [INFO] [stdout] --> src/racing_dashboard.rs:1117:14 [INFO] [stdout] | [INFO] [stdout] 1117 | self.show_car_test(ctx); [INFO] [stdout] | ^^^^^^^^^^^^^ multiple `show_car_test` found [INFO] [stdout] | [INFO] [stdout] note: candidate #1 is defined in an impl for the type `RacingDashboard` [INFO] [stdout] --> src/main.rs:579:5 [INFO] [stdout] | [INFO] [stdout] 579 | fn show_car_test(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: candidate #2 is defined in an impl for the type `RacingDashboard` [INFO] [stdout] --> src/racing_dashboard.rs:821:5 [INFO] [stdout] | [INFO] [stdout] 821 | fn show_car_test(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0034]: multiple applicable items in scope [INFO] [stdout] --> src/racing_dashboard.rs:1118:14 [INFO] [stdout] | [INFO] [stdout] 1118 | self.show_damage_report(ctx); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ multiple `show_damage_report` found [INFO] [stdout] | [INFO] [stdout] note: candidate #1 is defined in an impl for the type `RacingDashboard` [INFO] [stdout] --> src/main.rs:612:5 [INFO] [stdout] | [INFO] [stdout] 612 | fn show_damage_report(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: candidate #2 is defined in an impl for the type `RacingDashboard` [INFO] [stdout] --> src/racing_dashboard.rs:854:5 [INFO] [stdout] | [INFO] [stdout] 854 | fn show_damage_report(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0034]: multiple applicable items in scope [INFO] [stdout] --> src/racing_dashboard.rs:1119:14 [INFO] [stdout] | [INFO] [stdout] 1119 | self.show_race_log(ctx); [INFO] [stdout] | ^^^^^^^^^^^^^ multiple `show_race_log` found [INFO] [stdout] | [INFO] [stdout] note: candidate #1 is defined in an impl for the type `RacingDashboard` [INFO] [stdout] --> src/main.rs:630:5 [INFO] [stdout] | [INFO] [stdout] 630 | fn show_race_log(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: candidate #2 is defined in an impl for the type `RacingDashboard` [INFO] [stdout] --> src/racing_dashboard.rs:872:5 [INFO] [stdout] | [INFO] [stdout] 872 | fn show_race_log(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0034]: multiple applicable items in scope [INFO] [stdout] --> src/racing_dashboard.rs:1120:14 [INFO] [stdout] | [INFO] [stdout] 1120 | self.show_insurance_policy(ctx); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ multiple `show_insurance_policy` found [INFO] [stdout] | [INFO] [stdout] note: candidate #1 is defined in an impl for the type `RacingDashboard` [INFO] [stdout] --> src/main.rs:649:5 [INFO] [stdout] | [INFO] [stdout] 649 | fn show_insurance_policy(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: candidate #2 is defined in an impl for the type `RacingDashboard` [INFO] [stdout] --> src/racing_dashboard.rs:891:5 [INFO] [stdout] | [INFO] [stdout] 891 | fn show_insurance_policy(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0034]: multiple applicable items in scope [INFO] [stdout] --> src/racing_dashboard.rs:1121:14 [INFO] [stdout] | [INFO] [stdout] 1121 | self.show_race_prediction(ctx); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ multiple `show_race_prediction` found [INFO] [stdout] | [INFO] [stdout] note: candidate #1 is defined in an impl for the type `RacingDashboard` [INFO] [stdout] --> src/main.rs:668:5 [INFO] [stdout] | [INFO] [stdout] 668 | fn show_race_prediction(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: candidate #2 is defined in an impl for the type `RacingDashboard` [INFO] [stdout] --> src/racing_dashboard.rs:910:5 [INFO] [stdout] | [INFO] [stdout] 910 | fn show_race_prediction(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0034]: multiple applicable items in scope [INFO] [stdout] --> src/racing_dashboard.rs:1122:14 [INFO] [stdout] | [INFO] [stdout] 1122 | self.show_test_report(ctx); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ multiple `show_test_report` found [INFO] [stdout] | [INFO] [stdout] note: candidate #1 is defined in an impl for the type `RacingDashboard` [INFO] [stdout] --> src/main.rs:687:5 [INFO] [stdout] | [INFO] [stdout] 687 | fn show_test_report(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: candidate #2 is defined in an impl for the type `RacingDashboard` [INFO] [stdout] --> src/racing_dashboard.rs:929:5 [INFO] [stdout] | [INFO] [stdout] 929 | fn show_test_report(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0034]: multiple applicable items in scope [INFO] [stdout] --> src/racing_dashboard.rs:1099:39 [INFO] [stdout] | [INFO] [stdout] 1099 | Tab::Overview => self.show_overview(ui), [INFO] [stdout] | ^^^^^^^^^^^^^ multiple `show_overview` found [INFO] [stdout] | [INFO] [stdout] note: candidate #1 is defined in an impl for the type `RacingDashboard` [INFO] [stdout] --> src/main.rs:871:5 [INFO] [stdout] | [INFO] [stdout] 871 | pub fn show_overview(&mut self, ui: &mut egui::Ui) { // 將方法改為 pub [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: candidate #2 is defined in an impl for the type `RacingDashboard` [INFO] [stdout] --> src/racing_dashboard.rs:1127:5 [INFO] [stdout] | [INFO] [stdout] 1127 | fn show_overview(&mut self, ui: &mut egui::Ui) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0034]: multiple applicable items in scope [INFO] [stdout] --> src/racing_dashboard.rs:1100:40 [INFO] [stdout] | [INFO] [stdout] 1100 | Tab::AddRecord => self.show_add_record(ui), [INFO] [stdout] | ^^^^^^^^^^^^^^^ multiple `show_add_record` found [INFO] [stdout] | [INFO] [stdout] note: candidate #1 is defined in an impl for the type `RacingDashboard` [INFO] [stdout] --> src/main.rs:888:5 [INFO] [stdout] | [INFO] [stdout] 888 | pub fn show_add_record(&mut self, ui: &mut egui::Ui) { // 將方法改為 pub [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: candidate #2 is defined in an impl for the type `RacingDashboard` [INFO] [stdout] --> src/racing_dashboard.rs:1147:5 [INFO] [stdout] | [INFO] [stdout] 1147 | fn show_add_record(&mut self, ui: &mut egui::Ui) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0034]: multiple applicable items in scope [INFO] [stdout] --> src/racing_dashboard.rs:1101:41 [INFO] [stdout] | [INFO] [stdout] 1101 | Tab::Statistics => self.show_statistics(ui), [INFO] [stdout] | ^^^^^^^^^^^^^^^ multiple `show_statistics` found [INFO] [stdout] | [INFO] [stdout] note: candidate #1 is defined in an impl for the type `RacingDashboard` [INFO] [stdout] --> src/main.rs:932:5 [INFO] [stdout] | [INFO] [stdout] 932 | pub fn show_statistics(&self, ui: &mut egui::Ui) { // 將方法改為 pub [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: candidate #2 is defined in an impl for the type `RacingDashboard` [INFO] [stdout] --> src/racing_dashboard.rs:1192:5 [INFO] [stdout] | [INFO] [stdout] 1192 | fn show_statistics(&self, ui: &mut egui::Ui) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0034]: multiple applicable items in scope [INFO] [stdout] --> src/racing_dashboard.rs:1105:14 [INFO] [stdout] | [INFO] [stdout] 1105 | self.show_setup_window(ctx); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ multiple `show_setup_window` found [INFO] [stdout] | [INFO] [stdout] note: candidate #1 is defined in an impl for the type `RacingDashboard` [INFO] [stdout] --> src/main.rs:92:5 [INFO] [stdout] | [INFO] [stdout] 92 | fn show_setup_window(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: candidate #2 is defined in an impl for the type `RacingDashboard` [INFO] [stdout] --> src/racing_dashboard.rs:341:5 [INFO] [stdout] | [INFO] [stdout] 341 | fn show_setup_window(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0034]: multiple applicable items in scope [INFO] [stdout] --> src/racing_dashboard.rs:1106:14 [INFO] [stdout] | [INFO] [stdout] 1106 | self.show_weather_effects(ctx); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ multiple `show_weather_effects` found [INFO] [stdout] | [INFO] [stdout] note: candidate #1 is defined in an impl for the type `RacingDashboard` [INFO] [stdout] --> src/main.rs:112:5 [INFO] [stdout] | [INFO] [stdout] 112 | fn show_weather_effects(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: candidate #2 is defined in an impl for the type `RacingDashboard` [INFO] [stdout] --> src/racing_dashboard.rs:359:5 [INFO] [stdout] | [INFO] [stdout] 359 | fn show_weather_effects(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0034]: multiple applicable items in scope [INFO] [stdout] --> src/racing_dashboard.rs:1107:14 [INFO] [stdout] | [INFO] [stdout] 1107 | self.show_achievements(ctx); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ multiple `show_achievements` found [INFO] [stdout] | [INFO] [stdout] note: candidate #1 is defined in an impl for the type `RacingDashboard` [INFO] [stdout] --> src/main.rs:138:5 [INFO] [stdout] | [INFO] [stdout] 138 | fn show_achievements(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: candidate #2 is defined in an impl for the type `RacingDashboard` [INFO] [stdout] --> src/racing_dashboard.rs:380:5 [INFO] [stdout] | [INFO] [stdout] 380 | fn show_achievements(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0034]: multiple applicable items in scope [INFO] [stdout] --> src/racing_dashboard.rs:1108:14 [INFO] [stdout] | [INFO] [stdout] 1108 | self.show_incident_report(ctx); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ multiple `show_incident_report` found [INFO] [stdout] | [INFO] [stdout] note: candidate #1 is defined in an impl for the type `RacingDashboard` [INFO] [stdout] --> src/main.rs:325:5 [INFO] [stdout] | [INFO] [stdout] 325 | fn show_incident_report(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: candidate #2 is defined in an impl for the type `RacingDashboard` [INFO] [stdout] --> src/racing_dashboard.rs:567:5 [INFO] [stdout] | [INFO] [stdout] 567 | fn show_incident_report(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0034]: multiple applicable items in scope [INFO] [stdout] --> src/racing_dashboard.rs:1109:14 [INFO] [stdout] | [INFO] [stdout] 1109 | self.show_weather_forecast(ctx); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ multiple `show_weather_forecast` found [INFO] [stdout] | [INFO] [stdout] note: candidate #1 is defined in an impl for the type `RacingDashboard` [INFO] [stdout] --> src/main.rs:337:5 [INFO] [stdout] | [INFO] [stdout] 337 | fn show_weather_forecast(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: candidate #2 is defined in an impl for the type `RacingDashboard` [INFO] [stdout] --> src/racing_dashboard.rs:579:5 [INFO] [stdout] | [INFO] [stdout] 579 | fn show_weather_forecast(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0034]: multiple applicable items in scope [INFO] [stdout] --> src/racing_dashboard.rs:1110:14 [INFO] [stdout] | [INFO] [stdout] 1110 | self.show_driver_management(ctx); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ multiple `show_driver_management` found [INFO] [stdout] | [INFO] [stdout] note: candidate #1 is defined in an impl for the type `RacingDashboard` [INFO] [stdout] --> src/main.rs:370:5 [INFO] [stdout] | [INFO] [stdout] 370 | fn show_driver_management(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: candidate #2 is defined in an impl for the type `RacingDashboard` [INFO] [stdout] --> src/racing_dashboard.rs:612:5 [INFO] [stdout] | [INFO] [stdout] 612 | fn show_driver_management(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0034]: multiple applicable items in scope [INFO] [stdout] --> src/racing_dashboard.rs:1111:14 [INFO] [stdout] | [INFO] [stdout] 1111 | self.show_track_analysis(ctx); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ multiple `show_track_analysis` found [INFO] [stdout] | [INFO] [stdout] note: candidate #1 is defined in an impl for the type `RacingDashboard` [INFO] [stdout] --> src/main.rs:401:5 [INFO] [stdout] | [INFO] [stdout] 401 | fn show_track_analysis(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: candidate #2 is defined in an impl for the type `RacingDashboard` [INFO] [stdout] --> src/racing_dashboard.rs:643:5 [INFO] [stdout] | [INFO] [stdout] 643 | fn show_track_analysis(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0034]: multiple applicable items in scope [INFO] [stdout] --> src/racing_dashboard.rs:1112:14 [INFO] [stdout] | [INFO] [stdout] 1112 | self.show_team_management(ctx); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ multiple `show_team_management` found [INFO] [stdout] | [INFO] [stdout] note: candidate #1 is defined in an impl for the type `RacingDashboard` [INFO] [stdout] --> src/main.rs:443:5 [INFO] [stdout] | [INFO] [stdout] 443 | fn show_team_management(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: candidate #2 is defined in an impl for the type `RacingDashboard` [INFO] [stdout] --> src/racing_dashboard.rs:685:5 [INFO] [stdout] | [INFO] [stdout] 685 | fn show_team_management(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0034]: multiple applicable items in scope [INFO] [stdout] --> src/racing_dashboard.rs:1113:14 [INFO] [stdout] | [INFO] [stdout] 1113 | self.show_performance_analysis(ctx); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ multiple `show_performance_analysis` found [INFO] [stdout] | [INFO] [stdout] note: candidate #1 is defined in an impl for the type `RacingDashboard` [INFO] [stdout] --> src/main.rs:479:5 [INFO] [stdout] | [INFO] [stdout] 479 | fn show_performance_analysis(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: candidate #2 is defined in an impl for the type `RacingDashboard` [INFO] [stdout] --> src/racing_dashboard.rs:721:5 [INFO] [stdout] | [INFO] [stdout] 721 | fn show_performance_analysis(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0034]: multiple applicable items in scope [INFO] [stdout] --> src/racing_dashboard.rs:1114:14 [INFO] [stdout] | [INFO] [stdout] 1114 | self.show_race_replay(ctx); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ multiple `show_race_replay` found [INFO] [stdout] | [INFO] [stdout] note: candidate #1 is defined in an impl for the type `RacingDashboard` [INFO] [stdout] --> src/main.rs:508:5 [INFO] [stdout] | [INFO] [stdout] 508 | fn show_race_replay(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: candidate #2 is defined in an impl for the type `RacingDashboard` [INFO] [stdout] --> src/racing_dashboard.rs:750:5 [INFO] [stdout] | [INFO] [stdout] 750 | fn show_race_replay(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0034]: multiple applicable items in scope [INFO] [stdout] --> src/racing_dashboard.rs:1115:14 [INFO] [stdout] | [INFO] [stdout] 1115 | self.show_car_upgrade(ctx); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ multiple `show_car_upgrade` found [INFO] [stdout] | [INFO] [stdout] note: candidate #1 is defined in an impl for the type `RacingDashboard` [INFO] [stdout] --> src/main.rs:527:5 [INFO] [stdout] | [INFO] [stdout] 527 | fn show_car_upgrade(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: candidate #2 is defined in an impl for the type `RacingDashboard` [INFO] [stdout] --> src/racing_dashboard.rs:769:5 [INFO] [stdout] | [INFO] [stdout] 769 | fn show_car_upgrade(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0034]: multiple applicable items in scope [INFO] [stdout] --> src/racing_dashboard.rs:1116:14 [INFO] [stdout] | [INFO] [stdout] 1116 | self.show_race_strategy(ctx); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ multiple `show_race_strategy` found [INFO] [stdout] | [INFO] [stdout] note: candidate #1 is defined in an impl for the type `RacingDashboard` [INFO] [stdout] --> src/main.rs:557:5 [INFO] [stdout] | [INFO] [stdout] 557 | fn show_race_strategy(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: candidate #2 is defined in an impl for the type `RacingDashboard` [INFO] [stdout] --> src/racing_dashboard.rs:799:5 [INFO] [stdout] | [INFO] [stdout] 799 | fn show_race_strategy(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0034]: multiple applicable items in scope [INFO] [stdout] --> src/racing_dashboard.rs:1117:14 [INFO] [stdout] | [INFO] [stdout] 1117 | self.show_car_test(ctx); [INFO] [stdout] | ^^^^^^^^^^^^^ multiple `show_car_test` found [INFO] [stdout] | [INFO] [stdout] note: candidate #1 is defined in an impl for the type `RacingDashboard` [INFO] [stdout] --> src/main.rs:579:5 [INFO] [stdout] | [INFO] [stdout] 579 | fn show_car_test(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: candidate #2 is defined in an impl for the type `RacingDashboard` [INFO] [stdout] --> src/racing_dashboard.rs:821:5 [INFO] [stdout] | [INFO] [stdout] 821 | fn show_car_test(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0034]: multiple applicable items in scope [INFO] [stdout] --> src/racing_dashboard.rs:1118:14 [INFO] [stdout] | [INFO] [stdout] 1118 | self.show_damage_report(ctx); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ multiple `show_damage_report` found [INFO] [stdout] | [INFO] [stdout] note: candidate #1 is defined in an impl for the type `RacingDashboard` [INFO] [stdout] --> src/main.rs:612:5 [INFO] [stdout] | [INFO] [stdout] 612 | fn show_damage_report(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: candidate #2 is defined in an impl for the type `RacingDashboard` [INFO] [stdout] --> src/racing_dashboard.rs:854:5 [INFO] [stdout] | [INFO] [stdout] 854 | fn show_damage_report(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0034]: multiple applicable items in scope [INFO] [stdout] --> src/racing_dashboard.rs:1119:14 [INFO] [stdout] | [INFO] [stdout] 1119 | self.show_race_log(ctx); [INFO] [stdout] | ^^^^^^^^^^^^^ multiple `show_race_log` found [INFO] [stdout] | [INFO] [stdout] note: candidate #1 is defined in an impl for the type `RacingDashboard` [INFO] [stdout] --> src/main.rs:630:5 [INFO] [stdout] | [INFO] [stdout] 630 | fn show_race_log(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: candidate #2 is defined in an impl for the type `RacingDashboard` [INFO] [stdout] --> src/racing_dashboard.rs:872:5 [INFO] [stdout] | [INFO] [stdout] 872 | fn show_race_log(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0034]: multiple applicable items in scope [INFO] [stdout] --> src/racing_dashboard.rs:1120:14 [INFO] [stdout] | [INFO] [stdout] 1120 | self.show_insurance_policy(ctx); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ multiple `show_insurance_policy` found [INFO] [stdout] | [INFO] [stdout] note: candidate #1 is defined in an impl for the type `RacingDashboard` [INFO] [stdout] --> src/main.rs:649:5 [INFO] [stdout] | [INFO] [stdout] 649 | fn show_insurance_policy(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: candidate #2 is defined in an impl for the type `RacingDashboard` [INFO] [stdout] --> src/racing_dashboard.rs:891:5 [INFO] [stdout] | [INFO] [stdout] 891 | fn show_insurance_policy(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0034]: multiple applicable items in scope [INFO] [stdout] --> src/racing_dashboard.rs:1121:14 [INFO] [stdout] | [INFO] [stdout] 1121 | self.show_race_prediction(ctx); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ multiple `show_race_prediction` found [INFO] [stdout] | [INFO] [stdout] note: candidate #1 is defined in an impl for the type `RacingDashboard` [INFO] [stdout] --> src/main.rs:668:5 [INFO] [stdout] | [INFO] [stdout] 668 | fn show_race_prediction(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: candidate #2 is defined in an impl for the type `RacingDashboard` [INFO] [stdout] --> src/racing_dashboard.rs:910:5 [INFO] [stdout] | [INFO] [stdout] 910 | fn show_race_prediction(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0034]: multiple applicable items in scope [INFO] [stdout] --> src/racing_dashboard.rs:1122:14 [INFO] [stdout] | [INFO] [stdout] 1122 | self.show_test_report(ctx); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ multiple `show_test_report` found [INFO] [stdout] | [INFO] [stdout] note: candidate #1 is defined in an impl for the type `RacingDashboard` [INFO] [stdout] --> src/main.rs:687:5 [INFO] [stdout] | [INFO] [stdout] 687 | fn show_test_report(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: candidate #2 is defined in an impl for the type `RacingDashboard` [INFO] [stdout] --> src/racing_dashboard.rs:929:5 [INFO] [stdout] | [INFO] [stdout] 929 | fn show_test_report(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0034]: multiple applicable items in scope [INFO] [stdout] --> src/racing_dashboard.rs:1247:26 [INFO] [stdout] | [INFO] [stdout] 1247 | self.show_performance_trends(ui); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ multiple `show_performance_trends` found [INFO] [stdout] | [INFO] [stdout] note: candidate #1 is defined in an impl for the type `RacingDashboard` [INFO] [stdout] --> src/main.rs:987:5 [INFO] [stdout] | [INFO] [stdout] 987 | pub fn show_performance_trends(&self, ui: &mut egui::Ui) { // 將方法改為 pub [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: candidate #2 is defined in an impl for the type `RacingDashboard` [INFO] [stdout] --> src/racing_dashboard.rs:1255:5 [INFO] [stdout] | [INFO] [stdout] 1255 | fn show_performance_trends(&self, ui: &mut egui::Ui) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0034]: multiple applicable items in scope [INFO] [stdout] --> src/racing_dashboard.rs:1247:26 [INFO] [stdout] | [INFO] [stdout] 1247 | self.show_performance_trends(ui); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ multiple `show_performance_trends` found [INFO] [stdout] | [INFO] [stdout] note: candidate #1 is defined in an impl for the type `RacingDashboard` [INFO] [stdout] --> src/main.rs:987:5 [INFO] [stdout] | [INFO] [stdout] 987 | pub fn show_performance_trends(&self, ui: &mut egui::Ui) { // 將方法改為 pub [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: candidate #2 is defined in an impl for the type `RacingDashboard` [INFO] [stdout] --> src/racing_dashboard.rs:1255:5 [INFO] [stdout] | [INFO] [stdout] 1255 | fn show_performance_trends(&self, ui: &mut egui::Ui) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0560]: struct `NativeOptions` has no field named `initial_window_size` [INFO] [stdout] --> src/racing_dashboard.rs:1306:9 [INFO] [stdout] | [INFO] [stdout] 1306 | initial_window_size: Some(egui::vec2(800.0, 600.0)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ `NativeOptions` does not have this field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `viewport`, `vsync`, `multisampling`, `depth_buffer`, `stencil_buffer` ... and 10 others [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0034]: multiple applicable items in scope [INFO] [stdout] --> src/racing_dashboard.rs:1313:49 [INFO] [stdout] | [INFO] [stdout] 1313 | Box::new(|cc| Box::new(RacingDashboard::new(cc))) [INFO] [stdout] | ^^^ multiple `new` found [INFO] [stdout] | [INFO] [stdout] note: candidate #1 is defined in an impl for the type `RacingDashboard` [INFO] [stdout] --> src/main.rs:59:5 [INFO] [stdout] | [INFO] [stdout] 59 | pub fn new(cc: &eframe::CreationContext<'_>) -> Self { // 將 new 方法改為 pub [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: candidate #2 is defined in an impl for the type `RacingDashboard` [INFO] [stdout] --> src/racing_dashboard.rs:314:5 [INFO] [stdout] | [INFO] [stdout] 314 | fn new(cc: &eframe::CreationContext<'_>) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0560]: struct `RaceRecord` has no field named `incident_type` [INFO] [stdout] --> src/main.rs:82:13 [INFO] [stdout] | [INFO] [stdout] 82 | incident_type: "".to_string(), [INFO] [stdout] | ^^^^^^^^^^^^^ `RaceRecord` does not have this field [INFO] [stdout] | [INFO] [stdout] = note: all struct fields are already assigned [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0560]: struct `RaceRecord` has no field named `description` [INFO] [stdout] --> src/main.rs:83:13 [INFO] [stdout] | [INFO] [stdout] 83 | description: "".to_string(), [INFO] [stdout] | ^^^^^^^^^^^ `RaceRecord` does not have this field [INFO] [stdout] | [INFO] [stdout] = note: all struct fields are already assigned [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0560]: struct `RaceRecord` has no field named `damage_level` [INFO] [stdout] --> src/main.rs:84:13 [INFO] [stdout] | [INFO] [stdout] 84 | damage_level: 0, [INFO] [stdout] | ^^^^^^^^^^^^ `RaceRecord` does not have this field [INFO] [stdout] | [INFO] [stdout] = note: all struct fields are already assigned [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0560]: struct `RaceRecord` has no field named `repair_cost` [INFO] [stdout] --> src/main.rs:85:13 [INFO] [stdout] | [INFO] [stdout] 85 | repair_cost: 0.0, [INFO] [stdout] | ^^^^^^^^^^^ `RaceRecord` does not have this field [INFO] [stdout] | [INFO] [stdout] = note: all struct fields are already assigned [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0560]: struct `NativeOptions` has no field named `initial_window_size` [INFO] [stdout] --> src/racing_dashboard.rs:1306:9 [INFO] [stdout] | [INFO] [stdout] 1306 | initial_window_size: Some(egui::vec2(800.0, 600.0)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ `NativeOptions` does not have this field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `viewport`, `vsync`, `multisampling`, `depth_buffer`, `stencil_buffer` ... and 10 others [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0034]: multiple applicable items in scope [INFO] [stdout] --> src/racing_dashboard.rs:1313:49 [INFO] [stdout] | [INFO] [stdout] 1313 | Box::new(|cc| Box::new(RacingDashboard::new(cc))) [INFO] [stdout] | ^^^ multiple `new` found [INFO] [stdout] | [INFO] [stdout] note: candidate #1 is defined in an impl for the type `RacingDashboard` [INFO] [stdout] --> src/main.rs:59:5 [INFO] [stdout] | [INFO] [stdout] 59 | pub fn new(cc: &eframe::CreationContext<'_>) -> Self { // 將 new 方法改為 pub [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: candidate #2 is defined in an impl for the type `RacingDashboard` [INFO] [stdout] --> src/racing_dashboard.rs:314:5 [INFO] [stdout] | [INFO] [stdout] 314 | fn new(cc: &eframe::CreationContext<'_>) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0560]: struct `RaceRecord` has no field named `incident_type` [INFO] [stdout] --> src/main.rs:82:13 [INFO] [stdout] | [INFO] [stdout] 82 | incident_type: "".to_string(), [INFO] [stdout] | ^^^^^^^^^^^^^ `RaceRecord` does not have this field [INFO] [stdout] | [INFO] [stdout] = note: all struct fields are already assigned [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0560]: struct `RaceRecord` has no field named `description` [INFO] [stdout] --> src/main.rs:83:13 [INFO] [stdout] | [INFO] [stdout] 83 | description: "".to_string(), [INFO] [stdout] | ^^^^^^^^^^^ `RaceRecord` does not have this field [INFO] [stdout] | [INFO] [stdout] = note: all struct fields are already assigned [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0560]: struct `RaceRecord` has no field named `damage_level` [INFO] [stdout] --> src/main.rs:84:13 [INFO] [stdout] | [INFO] [stdout] 84 | damage_level: 0, [INFO] [stdout] | ^^^^^^^^^^^^ `RaceRecord` does not have this field [INFO] [stdout] | [INFO] [stdout] = note: all struct fields are already assigned [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0560]: struct `RaceRecord` has no field named `repair_cost` [INFO] [stdout] --> src/main.rs:85:13 [INFO] [stdout] | [INFO] [stdout] 85 | repair_cost: 0.0, [INFO] [stdout] | ^^^^^^^^^^^ `RaceRecord` does not have this field [INFO] [stdout] | [INFO] [stdout] = note: all struct fields are already assigned [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: `CarSetup` doesn't implement `std::fmt::Debug` [INFO] [stdout] --> src/main.rs:106:50 [INFO] [stdout] | [INFO] [stdout] 106 | info!("Setup applied: {:?}", self.new_record.setup); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ `CarSetup` cannot be formatted using `{:?}` [INFO] [stdout] | [INFO] [stdout] = help: the trait `std::fmt::Debug` is not implemented for `CarSetup` [INFO] [stdout] = note: add `#[derive(Debug)]` to `CarSetup` or manually `impl std::fmt::Debug for CarSetup` [INFO] [stdout] = note: this error originates in the macro `$crate::__private_api::format_args` which comes from the expansion of the macro `info` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider annotating `CarSetup` with `#[derive(Debug)]` [INFO] [stdout] --> src/racing_dashboard.rs:11:1 [INFO] [stdout] | [INFO] [stdout] 11 + #[derive(Debug)] [INFO] [stdout] 12 | pub struct CarSetup { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: `CarSetup` doesn't implement `std::fmt::Debug` [INFO] [stdout] --> src/main.rs:106:50 [INFO] [stdout] | [INFO] [stdout] 106 | info!("Setup applied: {:?}", self.new_record.setup); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ `CarSetup` cannot be formatted using `{:?}` [INFO] [stdout] | [INFO] [stdout] = help: the trait `std::fmt::Debug` is not implemented for `CarSetup` [INFO] [stdout] = note: add `#[derive(Debug)]` to `CarSetup` or manually `impl std::fmt::Debug for CarSetup` [INFO] [stdout] = note: this error originates in the macro `$crate::__private_api::format_args` which comes from the expansion of the macro `info` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider annotating `CarSetup` with `#[derive(Debug)]` [INFO] [stdout] --> src/racing_dashboard.rs:11:1 [INFO] [stdout] | [INFO] [stdout] 11 + #[derive(Debug)] [INFO] [stdout] 12 | pub struct CarSetup { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: `Achievement` doesn't implement `std::fmt::Debug` [INFO] [stdout] --> src/main.rs:174:56 [INFO] [stdout] | [INFO] [stdout] 174 | info!("Achievement updated: {:?}", achievement); [INFO] [stdout] | ^^^^^^^^^^^ `Achievement` cannot be formatted using `{:?}` [INFO] [stdout] | [INFO] [stdout] = help: the trait `std::fmt::Debug` is not implemented for `Achievement` [INFO] [stdout] = note: add `#[derive(Debug)]` to `Achievement` or manually `impl std::fmt::Debug for Achievement` [INFO] [stdout] = note: this error originates in the macro `$crate::__private_api::format_args` which comes from the expansion of the macro `info` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider annotating `Achievement` with `#[derive(Debug)]` [INFO] [stdout] --> src/racing_dashboard.rs:20:1 [INFO] [stdout] | [INFO] [stdout] 20 + #[derive(Debug)] [INFO] [stdout] 21 | pub struct Achievement { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: `Achievement` doesn't implement `std::fmt::Debug` [INFO] [stdout] --> src/main.rs:174:56 [INFO] [stdout] | [INFO] [stdout] 174 | info!("Achievement updated: {:?}", achievement); [INFO] [stdout] | ^^^^^^^^^^^ `Achievement` cannot be formatted using `{:?}` [INFO] [stdout] | [INFO] [stdout] = help: the trait `std::fmt::Debug` is not implemented for `Achievement` [INFO] [stdout] = note: add `#[derive(Debug)]` to `Achievement` or manually `impl std::fmt::Debug for Achievement` [INFO] [stdout] = note: this error originates in the macro `$crate::__private_api::format_args` which comes from the expansion of the macro `info` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider annotating `Achievement` with `#[derive(Debug)]` [INFO] [stdout] --> src/racing_dashboard.rs:20:1 [INFO] [stdout] | [INFO] [stdout] 20 + #[derive(Debug)] [INFO] [stdout] 21 | pub struct Achievement { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: `Achievement` doesn't implement `std::fmt::Debug` [INFO] [stdout] --> src/main.rs:179:56 [INFO] [stdout] | [INFO] [stdout] 179 | info!("Achievement updated: {:?}", achievement); [INFO] [stdout] | ^^^^^^^^^^^ `Achievement` cannot be formatted using `{:?}` [INFO] [stdout] | [INFO] [stdout] = help: the trait `std::fmt::Debug` is not implemented for `Achievement` [INFO] [stdout] = note: add `#[derive(Debug)]` to `Achievement` or manually `impl std::fmt::Debug for Achievement` [INFO] [stdout] = note: this error originates in the macro `$crate::__private_api::format_args` which comes from the expansion of the macro `info` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider annotating `Achievement` with `#[derive(Debug)]` [INFO] [stdout] --> src/racing_dashboard.rs:20:1 [INFO] [stdout] | [INFO] [stdout] 20 + #[derive(Debug)] [INFO] [stdout] 21 | pub struct Achievement { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: `Achievement` doesn't implement `std::fmt::Debug` [INFO] [stdout] --> src/main.rs:179:56 [INFO] [stdout] | [INFO] [stdout] 179 | info!("Achievement updated: {:?}", achievement); [INFO] [stdout] | ^^^^^^^^^^^ `Achievement` cannot be formatted using `{:?}` [INFO] [stdout] | [INFO] [stdout] = help: the trait `std::fmt::Debug` is not implemented for `Achievement` [INFO] [stdout] = note: add `#[derive(Debug)]` to `Achievement` or manually `impl std::fmt::Debug for Achievement` [INFO] [stdout] = note: this error originates in the macro `$crate::__private_api::format_args` which comes from the expansion of the macro `info` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider annotating `Achievement` with `#[derive(Debug)]` [INFO] [stdout] --> src/racing_dashboard.rs:20:1 [INFO] [stdout] | [INFO] [stdout] 20 + #[derive(Debug)] [INFO] [stdout] 21 | pub struct Achievement { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:190:64 [INFO] [stdout] | [INFO] [stdout] 190 | if ui.selectable_label(self.selected_season_tab == SeasonTab::Overview, "Overview").clicked() { [INFO] [stdout] | ------------------------ ^^^^^^^^^^^^^^^^^^^ expected `racing_dashboard::SeasonTab`, found `SeasonTab` [INFO] [stdout] | | [INFO] [stdout] | expected because this is `racing_dashboard::SeasonTab` [INFO] [stdout] | [INFO] [stdout] = note: `SeasonTab` and `racing_dashboard::SeasonTab` have similar names, but are actually distinct types [INFO] [stdout] note: `SeasonTab` is defined in module `crate` of the current crate [INFO] [stdout] --> src/main.rs:35:1 [INFO] [stdout] | [INFO] [stdout] 35 | pub enum SeasonTab { // 將 enum 改為 pub [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: `racing_dashboard::SeasonTab` is defined in module `crate::racing_dashboard` of the current crate [INFO] [stdout] --> src/racing_dashboard.rs:290:1 [INFO] [stdout] | [INFO] [stdout] 290 | pub enum SeasonTab { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:191:44 [INFO] [stdout] | [INFO] [stdout] 191 | self.selected_season_tab = SeasonTab::Overview; [INFO] [stdout] | ------------------------ ^^^^^^^^^^^^^^^^^^^ expected `racing_dashboard::SeasonTab`, found `SeasonTab` [INFO] [stdout] | | [INFO] [stdout] | expected due to the type of this binding [INFO] [stdout] | [INFO] [stdout] = note: `SeasonTab` and `racing_dashboard::SeasonTab` have similar names, but are actually distinct types [INFO] [stdout] note: `SeasonTab` is defined in module `crate` of the current crate [INFO] [stdout] --> src/main.rs:35:1 [INFO] [stdout] | [INFO] [stdout] 35 | pub enum SeasonTab { // 將 enum 改為 pub [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: `racing_dashboard::SeasonTab` is defined in module `crate::racing_dashboard` of the current crate [INFO] [stdout] --> src/racing_dashboard.rs:290:1 [INFO] [stdout] | [INFO] [stdout] 290 | pub enum SeasonTab { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:190:64 [INFO] [stdout] | [INFO] [stdout] 190 | if ui.selectable_label(self.selected_season_tab == SeasonTab::Overview, "Overview").clicked() { [INFO] [stdout] | ------------------------ ^^^^^^^^^^^^^^^^^^^ expected `racing_dashboard::SeasonTab`, found `SeasonTab` [INFO] [stdout] | | [INFO] [stdout] | expected because this is `racing_dashboard::SeasonTab` [INFO] [stdout] | [INFO] [stdout] = note: `SeasonTab` and `racing_dashboard::SeasonTab` have similar names, but are actually distinct types [INFO] [stdout] note: `SeasonTab` is defined in module `crate` of the current crate [INFO] [stdout] --> src/main.rs:35:1 [INFO] [stdout] | [INFO] [stdout] 35 | pub enum SeasonTab { // 將 enum 改為 pub [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: `racing_dashboard::SeasonTab` is defined in module `crate::racing_dashboard` of the current crate [INFO] [stdout] --> src/racing_dashboard.rs:290:1 [INFO] [stdout] | [INFO] [stdout] 290 | pub enum SeasonTab { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:193:64 [INFO] [stdout] | [INFO] [stdout] 193 | if ui.selectable_label(self.selected_season_tab == SeasonTab::Standings, "Standings").clicked() { [INFO] [stdout] | ------------------------ ^^^^^^^^^^^^^^^^^^^^ expected `racing_dashboard::SeasonTab`, found `SeasonTab` [INFO] [stdout] | | [INFO] [stdout] | expected because this is `racing_dashboard::SeasonTab` [INFO] [stdout] | [INFO] [stdout] = note: `SeasonTab` and `racing_dashboard::SeasonTab` have similar names, but are actually distinct types [INFO] [stdout] note: `SeasonTab` is defined in module `crate` of the current crate [INFO] [stdout] --> src/main.rs:35:1 [INFO] [stdout] | [INFO] [stdout] 35 | pub enum SeasonTab { // 將 enum 改為 pub [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: `racing_dashboard::SeasonTab` is defined in module `crate::racing_dashboard` of the current crate [INFO] [stdout] --> src/racing_dashboard.rs:290:1 [INFO] [stdout] | [INFO] [stdout] 290 | pub enum SeasonTab { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:191:44 [INFO] [stdout] | [INFO] [stdout] 191 | self.selected_season_tab = SeasonTab::Overview; [INFO] [stdout] | ------------------------ ^^^^^^^^^^^^^^^^^^^ expected `racing_dashboard::SeasonTab`, found `SeasonTab` [INFO] [stdout] | | [INFO] [stdout] | expected due to the type of this binding [INFO] [stdout] | [INFO] [stdout] = note: `SeasonTab` and `racing_dashboard::SeasonTab` have similar names, but are actually distinct types [INFO] [stdout] note: `SeasonTab` is defined in module `crate` of the current crate [INFO] [stdout] --> src/main.rs:35:1 [INFO] [stdout] | [INFO] [stdout] 35 | pub enum SeasonTab { // 將 enum 改為 pub [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: `racing_dashboard::SeasonTab` is defined in module `crate::racing_dashboard` of the current crate [INFO] [stdout] --> src/racing_dashboard.rs:290:1 [INFO] [stdout] | [INFO] [stdout] 290 | pub enum SeasonTab { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:194:44 [INFO] [stdout] | [INFO] [stdout] 194 | self.selected_season_tab = SeasonTab::Standings; [INFO] [stdout] | ------------------------ ^^^^^^^^^^^^^^^^^^^^ expected `racing_dashboard::SeasonTab`, found `SeasonTab` [INFO] [stdout] | | [INFO] [stdout] | expected due to the type of this binding [INFO] [stdout] | [INFO] [stdout] = note: `SeasonTab` and `racing_dashboard::SeasonTab` have similar names, but are actually distinct types [INFO] [stdout] note: `SeasonTab` is defined in module `crate` of the current crate [INFO] [stdout] --> src/main.rs:35:1 [INFO] [stdout] | [INFO] [stdout] 35 | pub enum SeasonTab { // 將 enum 改為 pub [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: `racing_dashboard::SeasonTab` is defined in module `crate::racing_dashboard` of the current crate [INFO] [stdout] --> src/racing_dashboard.rs:290:1 [INFO] [stdout] | [INFO] [stdout] 290 | pub enum SeasonTab { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:193:64 [INFO] [stdout] | [INFO] [stdout] 193 | if ui.selectable_label(self.selected_season_tab == SeasonTab::Standings, "Standings").clicked() { [INFO] [stdout] | ------------------------ ^^^^^^^^^^^^^^^^^^^^ expected `racing_dashboard::SeasonTab`, found `SeasonTab` [INFO] [stdout] | | [INFO] [stdout] | expected because this is `racing_dashboard::SeasonTab` [INFO] [stdout] | [INFO] [stdout] = note: `SeasonTab` and `racing_dashboard::SeasonTab` have similar names, but are actually distinct types [INFO] [stdout] note: `SeasonTab` is defined in module `crate` of the current crate [INFO] [stdout] --> src/main.rs:35:1 [INFO] [stdout] | [INFO] [stdout] 35 | pub enum SeasonTab { // 將 enum 改為 pub [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: `racing_dashboard::SeasonTab` is defined in module `crate::racing_dashboard` of the current crate [INFO] [stdout] --> src/racing_dashboard.rs:290:1 [INFO] [stdout] | [INFO] [stdout] 290 | pub enum SeasonTab { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:196:64 [INFO] [stdout] | [INFO] [stdout] 196 | if ui.selectable_label(self.selected_season_tab == SeasonTab::Statistics, "Statistics").clicked() { [INFO] [stdout] | ------------------------ ^^^^^^^^^^^^^^^^^^^^^ expected `racing_dashboard::SeasonTab`, found `SeasonTab` [INFO] [stdout] | | [INFO] [stdout] | expected because this is `racing_dashboard::SeasonTab` [INFO] [stdout] | [INFO] [stdout] = note: `SeasonTab` and `racing_dashboard::SeasonTab` have similar names, but are actually distinct types [INFO] [stdout] note: `SeasonTab` is defined in module `crate` of the current crate [INFO] [stdout] --> src/main.rs:35:1 [INFO] [stdout] | [INFO] [stdout] 35 | pub enum SeasonTab { // 將 enum 改為 pub [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: `racing_dashboard::SeasonTab` is defined in module `crate::racing_dashboard` of the current crate [INFO] [stdout] --> src/racing_dashboard.rs:290:1 [INFO] [stdout] | [INFO] [stdout] 290 | pub enum SeasonTab { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:194:44 [INFO] [stdout] | [INFO] [stdout] 194 | self.selected_season_tab = SeasonTab::Standings; [INFO] [stdout] | ------------------------ ^^^^^^^^^^^^^^^^^^^^ expected `racing_dashboard::SeasonTab`, found `SeasonTab` [INFO] [stdout] | | [INFO] [stdout] | expected due to the type of this binding [INFO] [stdout] | [INFO] [stdout] = note: `SeasonTab` and `racing_dashboard::SeasonTab` have similar names, but are actually distinct types [INFO] [stdout] note: `SeasonTab` is defined in module `crate` of the current crate [INFO] [stdout] --> src/main.rs:35:1 [INFO] [stdout] | [INFO] [stdout] 35 | pub enum SeasonTab { // 將 enum 改為 pub [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: `racing_dashboard::SeasonTab` is defined in module `crate::racing_dashboard` of the current crate [INFO] [stdout] --> src/racing_dashboard.rs:290:1 [INFO] [stdout] | [INFO] [stdout] 290 | pub enum SeasonTab { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:197:44 [INFO] [stdout] | [INFO] [stdout] 197 | self.selected_season_tab = SeasonTab::Statistics; [INFO] [stdout] | ------------------------ ^^^^^^^^^^^^^^^^^^^^^ expected `racing_dashboard::SeasonTab`, found `SeasonTab` [INFO] [stdout] | | [INFO] [stdout] | expected due to the type of this binding [INFO] [stdout] | [INFO] [stdout] = note: `SeasonTab` and `racing_dashboard::SeasonTab` have similar names, but are actually distinct types [INFO] [stdout] note: `SeasonTab` is defined in module `crate` of the current crate [INFO] [stdout] --> src/main.rs:35:1 [INFO] [stdout] | [INFO] [stdout] 35 | pub enum SeasonTab { // 將 enum 改為 pub [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: `racing_dashboard::SeasonTab` is defined in module `crate::racing_dashboard` of the current crate [INFO] [stdout] --> src/racing_dashboard.rs:290:1 [INFO] [stdout] | [INFO] [stdout] 290 | pub enum SeasonTab { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:201:13 [INFO] [stdout] | [INFO] [stdout] 37 | Overview, [INFO] [stdout] | -------- unit variant defined here [INFO] [stdout] ... [INFO] [stdout] 200 | match self.selected_season_tab { [INFO] [stdout] | ------------------------ this expression has type `racing_dashboard::SeasonTab` [INFO] [stdout] 201 | SeasonTab::Overview => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ expected `racing_dashboard::SeasonTab`, found `SeasonTab` [INFO] [stdout] | [INFO] [stdout] = note: `SeasonTab` and `racing_dashboard::SeasonTab` have similar names, but are actually distinct types [INFO] [stdout] note: `SeasonTab` is defined in module `crate` of the current crate [INFO] [stdout] --> src/main.rs:35:1 [INFO] [stdout] | [INFO] [stdout] 35 | pub enum SeasonTab { // 將 enum 改為 pub [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: `racing_dashboard::SeasonTab` is defined in module `crate::racing_dashboard` of the current crate [INFO] [stdout] --> src/racing_dashboard.rs:290:1 [INFO] [stdout] | [INFO] [stdout] 290 | pub enum SeasonTab { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:204:13 [INFO] [stdout] | [INFO] [stdout] 38 | Standings, [INFO] [stdout] | --------- unit variant defined here [INFO] [stdout] ... [INFO] [stdout] 200 | match self.selected_season_tab { [INFO] [stdout] | ------------------------ this expression has type `racing_dashboard::SeasonTab` [INFO] [stdout] ... [INFO] [stdout] 204 | SeasonTab::Standings => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ expected `racing_dashboard::SeasonTab`, found `SeasonTab` [INFO] [stdout] | [INFO] [stdout] = note: `SeasonTab` and `racing_dashboard::SeasonTab` have similar names, but are actually distinct types [INFO] [stdout] note: `SeasonTab` is defined in module `crate` of the current crate [INFO] [stdout] --> src/main.rs:35:1 [INFO] [stdout] | [INFO] [stdout] 35 | pub enum SeasonTab { // 將 enum 改為 pub [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: `racing_dashboard::SeasonTab` is defined in module `crate::racing_dashboard` of the current crate [INFO] [stdout] --> src/racing_dashboard.rs:290:1 [INFO] [stdout] | [INFO] [stdout] 290 | pub enum SeasonTab { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:207:13 [INFO] [stdout] | [INFO] [stdout] 39 | Statistics, [INFO] [stdout] | ---------- unit variant defined here [INFO] [stdout] ... [INFO] [stdout] 200 | match self.selected_season_tab { [INFO] [stdout] | ------------------------ this expression has type `racing_dashboard::SeasonTab` [INFO] [stdout] ... [INFO] [stdout] 207 | SeasonTab::Statistics => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ expected `racing_dashboard::SeasonTab`, found `SeasonTab` [INFO] [stdout] | [INFO] [stdout] = note: `SeasonTab` and `racing_dashboard::SeasonTab` have similar names, but are actually distinct types [INFO] [stdout] note: `SeasonTab` is defined in module `crate` of the current crate [INFO] [stdout] --> src/main.rs:35:1 [INFO] [stdout] | [INFO] [stdout] 35 | pub enum SeasonTab { // 將 enum 改為 pub [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: `racing_dashboard::SeasonTab` is defined in module `crate::racing_dashboard` of the current crate [INFO] [stdout] --> src/racing_dashboard.rs:290:1 [INFO] [stdout] | [INFO] [stdout] 290 | pub enum SeasonTab { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:196:64 [INFO] [stdout] | [INFO] [stdout] 196 | if ui.selectable_label(self.selected_season_tab == SeasonTab::Statistics, "Statistics").clicked() { [INFO] [stdout] | ------------------------ ^^^^^^^^^^^^^^^^^^^^^ expected `racing_dashboard::SeasonTab`, found `SeasonTab` [INFO] [stdout] | | [INFO] [stdout] | expected because this is `racing_dashboard::SeasonTab` [INFO] [stdout] | [INFO] [stdout] = note: `SeasonTab` and `racing_dashboard::SeasonTab` have similar names, but are actually distinct types [INFO] [stdout] note: `SeasonTab` is defined in module `crate` of the current crate [INFO] [stdout] --> src/main.rs:35:1 [INFO] [stdout] | [INFO] [stdout] 35 | pub enum SeasonTab { // 將 enum 改為 pub [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: `racing_dashboard::SeasonTab` is defined in module `crate::racing_dashboard` of the current crate [INFO] [stdout] --> src/racing_dashboard.rs:290:1 [INFO] [stdout] | [INFO] [stdout] 290 | pub enum SeasonTab { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:197:44 [INFO] [stdout] | [INFO] [stdout] 197 | self.selected_season_tab = SeasonTab::Statistics; [INFO] [stdout] | ------------------------ ^^^^^^^^^^^^^^^^^^^^^ expected `racing_dashboard::SeasonTab`, found `SeasonTab` [INFO] [stdout] | | [INFO] [stdout] | expected due to the type of this binding [INFO] [stdout] | [INFO] [stdout] = note: `SeasonTab` and `racing_dashboard::SeasonTab` have similar names, but are actually distinct types [INFO] [stdout] note: `SeasonTab` is defined in module `crate` of the current crate [INFO] [stdout] --> src/main.rs:35:1 [INFO] [stdout] | [INFO] [stdout] 35 | pub enum SeasonTab { // 將 enum 改為 pub [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: `racing_dashboard::SeasonTab` is defined in module `crate::racing_dashboard` of the current crate [INFO] [stdout] --> src/racing_dashboard.rs:290:1 [INFO] [stdout] | [INFO] [stdout] 290 | pub enum SeasonTab { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:201:13 [INFO] [stdout] | [INFO] [stdout] 37 | Overview, [INFO] [stdout] | -------- unit variant defined here [INFO] [stdout] ... [INFO] [stdout] 200 | match self.selected_season_tab { [INFO] [stdout] | ------------------------ this expression has type `racing_dashboard::SeasonTab` [INFO] [stdout] 201 | SeasonTab::Overview => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ expected `racing_dashboard::SeasonTab`, found `SeasonTab` [INFO] [stdout] | [INFO] [stdout] = note: `SeasonTab` and `racing_dashboard::SeasonTab` have similar names, but are actually distinct types [INFO] [stdout] note: `SeasonTab` is defined in module `crate` of the current crate [INFO] [stdout] --> src/main.rs:35:1 [INFO] [stdout] | [INFO] [stdout] 35 | pub enum SeasonTab { // 將 enum 改為 pub [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: `racing_dashboard::SeasonTab` is defined in module `crate::racing_dashboard` of the current crate [INFO] [stdout] --> src/racing_dashboard.rs:290:1 [INFO] [stdout] | [INFO] [stdout] 290 | pub enum SeasonTab { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:204:13 [INFO] [stdout] | [INFO] [stdout] 38 | Standings, [INFO] [stdout] | --------- unit variant defined here [INFO] [stdout] ... [INFO] [stdout] 200 | match self.selected_season_tab { [INFO] [stdout] | ------------------------ this expression has type `racing_dashboard::SeasonTab` [INFO] [stdout] ... [INFO] [stdout] 204 | SeasonTab::Standings => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ expected `racing_dashboard::SeasonTab`, found `SeasonTab` [INFO] [stdout] | [INFO] [stdout] = note: `SeasonTab` and `racing_dashboard::SeasonTab` have similar names, but are actually distinct types [INFO] [stdout] note: `SeasonTab` is defined in module `crate` of the current crate [INFO] [stdout] --> src/main.rs:35:1 [INFO] [stdout] | [INFO] [stdout] 35 | pub enum SeasonTab { // 將 enum 改為 pub [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: `racing_dashboard::SeasonTab` is defined in module `crate::racing_dashboard` of the current crate [INFO] [stdout] --> src/racing_dashboard.rs:290:1 [INFO] [stdout] | [INFO] [stdout] 290 | pub enum SeasonTab { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:207:13 [INFO] [stdout] | [INFO] [stdout] 39 | Statistics, [INFO] [stdout] | ---------- unit variant defined here [INFO] [stdout] ... [INFO] [stdout] 200 | match self.selected_season_tab { [INFO] [stdout] | ------------------------ this expression has type `racing_dashboard::SeasonTab` [INFO] [stdout] ... [INFO] [stdout] 207 | SeasonTab::Statistics => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ expected `racing_dashboard::SeasonTab`, found `SeasonTab` [INFO] [stdout] | [INFO] [stdout] = note: `SeasonTab` and `racing_dashboard::SeasonTab` have similar names, but are actually distinct types [INFO] [stdout] note: `SeasonTab` is defined in module `crate` of the current crate [INFO] [stdout] --> src/main.rs:35:1 [INFO] [stdout] | [INFO] [stdout] 35 | pub enum SeasonTab { // 將 enum 改為 pub [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: `racing_dashboard::SeasonTab` is defined in module `crate::racing_dashboard` of the current crate [INFO] [stdout] --> src/racing_dashboard.rs:290:1 [INFO] [stdout] | [INFO] [stdout] 290 | pub enum SeasonTab { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `show_season_standings` found for mutable reference `&mut RacingDashboard` in the current scope [INFO] [stdout] --> src/main.rs:205:22 [INFO] [stdout] | [INFO] [stdout] 205 | self.show_season_standings(ui); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: there is a method `show_statistics` with a similar name [INFO] [stdout] | [INFO] [stdout] 205 | self.show_statistics(ui); [INFO] [stdout] | ~~~~~~~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `show_season_standings` found for mutable reference `&mut RacingDashboard` in the current scope [INFO] [stdout] --> src/main.rs:205:22 [INFO] [stdout] | [INFO] [stdout] 205 | self.show_season_standings(ui); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: there is a method `show_statistics` with a similar name [INFO] [stdout] | [INFO] [stdout] 205 | self.show_statistics(ui); [INFO] [stdout] | ~~~~~~~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `show_season_statistics` found for mutable reference `&mut RacingDashboard` in the current scope [INFO] [stdout] --> src/main.rs:208:22 [INFO] [stdout] | [INFO] [stdout] 208 | self.show_season_statistics(ui); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: there is a method `show_statistics` with a similar name [INFO] [stdout] | [INFO] [stdout] 208 | self.show_statistics(ui); [INFO] [stdout] | ~~~~~~~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `show_season_statistics` found for mutable reference `&mut RacingDashboard` in the current scope [INFO] [stdout] --> src/main.rs:208:22 [INFO] [stdout] | [INFO] [stdout] 208 | self.show_season_statistics(ui); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: there is a method `show_statistics` with a similar name [INFO] [stdout] | [INFO] [stdout] 208 | self.show_statistics(ui); [INFO] [stdout] | ~~~~~~~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0616]: field `track_filter` of struct `racing_dashboard::FilterSettings` is private [INFO] [stdout] --> src/main.rs:293:67 [INFO] [stdout] | [INFO] [stdout] 293 | ui.text_edit_singleline(&mut self.filter_settings.track_filter); [INFO] [stdout] | ^^^^^^^^^^^^ private field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0616]: field `track_filter` of struct `racing_dashboard::FilterSettings` is private [INFO] [stdout] --> src/main.rs:293:67 [INFO] [stdout] | [INFO] [stdout] 293 | ui.text_edit_singleline(&mut self.filter_settings.track_filter); [INFO] [stdout] | ^^^^^^^^^^^^ private field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0616]: field `car_filter` of struct `racing_dashboard::FilterSettings` is private [INFO] [stdout] --> src/main.rs:295:67 [INFO] [stdout] | [INFO] [stdout] 295 | ui.text_edit_singleline(&mut self.filter_settings.car_filter); [INFO] [stdout] | ^^^^^^^^^^ private field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0616]: field `car_filter` of struct `racing_dashboard::FilterSettings` is private [INFO] [stdout] --> src/main.rs:295:67 [INFO] [stdout] | [INFO] [stdout] 295 | ui.text_edit_singleline(&mut self.filter_settings.car_filter); [INFO] [stdout] | ^^^^^^^^^^ private field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:308:69 [INFO] [stdout] | [INFO] [stdout] 308 | if ui.selectable_label(self.selected_maintenance_tab == MaintenanceTab::Scheduled, "Scheduled").clicked() { [INFO] [stdout] | ----------------------------- ^^^^^^^^^^^^^^^^^^^^^^^^^ expected `racing_dashboard::MaintenanceTab`, found `MaintenanceTab` [INFO] [stdout] | | [INFO] [stdout] | expected because this is `racing_dashboard::MaintenanceTab` [INFO] [stdout] | [INFO] [stdout] = note: `MaintenanceTab` and `racing_dashboard::MaintenanceTab` have similar names, but are actually distinct types [INFO] [stdout] note: `MaintenanceTab` is defined in module `crate` of the current crate [INFO] [stdout] --> src/main.rs:43:1 [INFO] [stdout] | [INFO] [stdout] 43 | pub enum MaintenanceTab { // 將 enum 改為 pub [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: `racing_dashboard::MaintenanceTab` is defined in module `crate::racing_dashboard` of the current crate [INFO] [stdout] --> src/racing_dashboard.rs:298:1 [INFO] [stdout] | [INFO] [stdout] 298 | pub enum MaintenanceTab { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:308:69 [INFO] [stdout] | [INFO] [stdout] 308 | if ui.selectable_label(self.selected_maintenance_tab == MaintenanceTab::Scheduled, "Scheduled").clicked() { [INFO] [stdout] | ----------------------------- ^^^^^^^^^^^^^^^^^^^^^^^^^ expected `racing_dashboard::MaintenanceTab`, found `MaintenanceTab` [INFO] [stdout] | | [INFO] [stdout] | expected because this is `racing_dashboard::MaintenanceTab` [INFO] [stdout] | [INFO] [stdout] = note: `MaintenanceTab` and `racing_dashboard::MaintenanceTab` have similar names, but are actually distinct types [INFO] [stdout] note: `MaintenanceTab` is defined in module `crate` of the current crate [INFO] [stdout] --> src/main.rs:43:1 [INFO] [stdout] | [INFO] [stdout] 43 | pub enum MaintenanceTab { // 將 enum 改為 pub [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: `racing_dashboard::MaintenanceTab` is defined in module `crate::racing_dashboard` of the current crate [INFO] [stdout] --> src/racing_dashboard.rs:298:1 [INFO] [stdout] | [INFO] [stdout] 298 | pub enum MaintenanceTab { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:309:49 [INFO] [stdout] | [INFO] [stdout] 309 | self.selected_maintenance_tab = MaintenanceTab::Scheduled; [INFO] [stdout] | ----------------------------- ^^^^^^^^^^^^^^^^^^^^^^^^^ expected `racing_dashboard::MaintenanceTab`, found `MaintenanceTab` [INFO] [stdout] | | [INFO] [stdout] | expected due to the type of this binding [INFO] [stdout] | [INFO] [stdout] = note: `MaintenanceTab` and `racing_dashboard::MaintenanceTab` have similar names, but are actually distinct types [INFO] [stdout] note: `MaintenanceTab` is defined in module `crate` of the current crate [INFO] [stdout] --> src/main.rs:43:1 [INFO] [stdout] | [INFO] [stdout] 43 | pub enum MaintenanceTab { // 將 enum 改為 pub [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: `racing_dashboard::MaintenanceTab` is defined in module `crate::racing_dashboard` of the current crate [INFO] [stdout] --> src/racing_dashboard.rs:298:1 [INFO] [stdout] | [INFO] [stdout] 298 | pub enum MaintenanceTab { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:309:49 [INFO] [stdout] | [INFO] [stdout] 309 | self.selected_maintenance_tab = MaintenanceTab::Scheduled; [INFO] [stdout] | ----------------------------- ^^^^^^^^^^^^^^^^^^^^^^^^^ expected `racing_dashboard::MaintenanceTab`, found `MaintenanceTab` [INFO] [stdout] | | [INFO] [stdout] | expected due to the type of this binding [INFO] [stdout] | [INFO] [stdout] = note: `MaintenanceTab` and `racing_dashboard::MaintenanceTab` have similar names, but are actually distinct types [INFO] [stdout] note: `MaintenanceTab` is defined in module `crate` of the current crate [INFO] [stdout] --> src/main.rs:43:1 [INFO] [stdout] | [INFO] [stdout] 43 | pub enum MaintenanceTab { // 將 enum 改為 pub [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: `racing_dashboard::MaintenanceTab` is defined in module `crate::racing_dashboard` of the current crate [INFO] [stdout] --> src/racing_dashboard.rs:298:1 [INFO] [stdout] | [INFO] [stdout] 298 | pub enum MaintenanceTab { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:311:69 [INFO] [stdout] | [INFO] [stdout] 311 | if ui.selectable_label(self.selected_maintenance_tab == MaintenanceTab::History, "History").clicked() { [INFO] [stdout] | ----------------------------- ^^^^^^^^^^^^^^^^^^^^^^^ expected `racing_dashboard::MaintenanceTab`, found `MaintenanceTab` [INFO] [stdout] | | [INFO] [stdout] | expected because this is `racing_dashboard::MaintenanceTab` [INFO] [stdout] | [INFO] [stdout] = note: `MaintenanceTab` and `racing_dashboard::MaintenanceTab` have similar names, but are actually distinct types [INFO] [stdout] note: `MaintenanceTab` is defined in module `crate` of the current crate [INFO] [stdout] --> src/main.rs:43:1 [INFO] [stdout] | [INFO] [stdout] 43 | pub enum MaintenanceTab { // 將 enum 改為 pub [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: `racing_dashboard::MaintenanceTab` is defined in module `crate::racing_dashboard` of the current crate [INFO] [stdout] --> src/racing_dashboard.rs:298:1 [INFO] [stdout] | [INFO] [stdout] 298 | pub enum MaintenanceTab { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:311:69 [INFO] [stdout] | [INFO] [stdout] 311 | if ui.selectable_label(self.selected_maintenance_tab == MaintenanceTab::History, "History").clicked() { [INFO] [stdout] | ----------------------------- ^^^^^^^^^^^^^^^^^^^^^^^ expected `racing_dashboard::MaintenanceTab`, found `MaintenanceTab` [INFO] [stdout] | | [INFO] [stdout] | expected because this is `racing_dashboard::MaintenanceTab` [INFO] [stdout] | [INFO] [stdout] = note: `MaintenanceTab` and `racing_dashboard::MaintenanceTab` have similar names, but are actually distinct types [INFO] [stdout] note: `MaintenanceTab` is defined in module `crate` of the current crate [INFO] [stdout] --> src/main.rs:43:1 [INFO] [stdout] | [INFO] [stdout] 43 | pub enum MaintenanceTab { // 將 enum 改為 pub [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: `racing_dashboard::MaintenanceTab` is defined in module `crate::racing_dashboard` of the current crate [INFO] [stdout] --> src/racing_dashboard.rs:298:1 [INFO] [stdout] | [INFO] [stdout] 298 | pub enum MaintenanceTab { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:312:49 [INFO] [stdout] | [INFO] [stdout] 312 | self.selected_maintenance_tab = MaintenanceTab::History; [INFO] [stdout] | ----------------------------- ^^^^^^^^^^^^^^^^^^^^^^^ expected `racing_dashboard::MaintenanceTab`, found `MaintenanceTab` [INFO] [stdout] | | [INFO] [stdout] | expected due to the type of this binding [INFO] [stdout] | [INFO] [stdout] = note: `MaintenanceTab` and `racing_dashboard::MaintenanceTab` have similar names, but are actually distinct types [INFO] [stdout] note: `MaintenanceTab` is defined in module `crate` of the current crate [INFO] [stdout] --> src/main.rs:43:1 [INFO] [stdout] | [INFO] [stdout] 43 | pub enum MaintenanceTab { // 將 enum 改為 pub [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: `racing_dashboard::MaintenanceTab` is defined in module `crate::racing_dashboard` of the current crate [INFO] [stdout] --> src/racing_dashboard.rs:298:1 [INFO] [stdout] | [INFO] [stdout] 298 | pub enum MaintenanceTab { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:312:49 [INFO] [stdout] | [INFO] [stdout] 312 | self.selected_maintenance_tab = MaintenanceTab::History; [INFO] [stdout] | ----------------------------- ^^^^^^^^^^^^^^^^^^^^^^^ expected `racing_dashboard::MaintenanceTab`, found `MaintenanceTab` [INFO] [stdout] | | [INFO] [stdout] | expected due to the type of this binding [INFO] [stdout] | [INFO] [stdout] = note: `MaintenanceTab` and `racing_dashboard::MaintenanceTab` have similar names, but are actually distinct types [INFO] [stdout] note: `MaintenanceTab` is defined in module `crate` of the current crate [INFO] [stdout] --> src/main.rs:43:1 [INFO] [stdout] | [INFO] [stdout] 43 | pub enum MaintenanceTab { // 將 enum 改為 pub [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: `racing_dashboard::MaintenanceTab` is defined in module `crate::racing_dashboard` of the current crate [INFO] [stdout] --> src/racing_dashboard.rs:298:1 [INFO] [stdout] | [INFO] [stdout] 298 | pub enum MaintenanceTab { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:314:69 [INFO] [stdout] | [INFO] [stdout] 314 | if ui.selectable_label(self.selected_maintenance_tab == MaintenanceTab::Costs, "Costs").clicked() { [INFO] [stdout] | ----------------------------- ^^^^^^^^^^^^^^^^^^^^^ expected `racing_dashboard::MaintenanceTab`, found `MaintenanceTab` [INFO] [stdout] | | [INFO] [stdout] | expected because this is `racing_dashboard::MaintenanceTab` [INFO] [stdout] | [INFO] [stdout] = note: `MaintenanceTab` and `racing_dashboard::MaintenanceTab` have similar names, but are actually distinct types [INFO] [stdout] note: `MaintenanceTab` is defined in module `crate` of the current crate [INFO] [stdout] --> src/main.rs:43:1 [INFO] [stdout] | [INFO] [stdout] 43 | pub enum MaintenanceTab { // 將 enum 改為 pub [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: `racing_dashboard::MaintenanceTab` is defined in module `crate::racing_dashboard` of the current crate [INFO] [stdout] --> src/racing_dashboard.rs:298:1 [INFO] [stdout] | [INFO] [stdout] 298 | pub enum MaintenanceTab { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:314:69 [INFO] [stdout] | [INFO] [stdout] 314 | if ui.selectable_label(self.selected_maintenance_tab == MaintenanceTab::Costs, "Costs").clicked() { [INFO] [stdout] | ----------------------------- ^^^^^^^^^^^^^^^^^^^^^ expected `racing_dashboard::MaintenanceTab`, found `MaintenanceTab` [INFO] [stdout] | | [INFO] [stdout] | expected because this is `racing_dashboard::MaintenanceTab` [INFO] [stdout] | [INFO] [stdout] = note: `MaintenanceTab` and `racing_dashboard::MaintenanceTab` have similar names, but are actually distinct types [INFO] [stdout] note: `MaintenanceTab` is defined in module `crate` of the current crate [INFO] [stdout] --> src/main.rs:43:1 [INFO] [stdout] | [INFO] [stdout] 43 | pub enum MaintenanceTab { // 將 enum 改為 pub [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: `racing_dashboard::MaintenanceTab` is defined in module `crate::racing_dashboard` of the current crate [INFO] [stdout] --> src/racing_dashboard.rs:298:1 [INFO] [stdout] | [INFO] [stdout] 298 | pub enum MaintenanceTab { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:315:49 [INFO] [stdout] | [INFO] [stdout] 315 | self.selected_maintenance_tab = MaintenanceTab::Costs; [INFO] [stdout] | ----------------------------- ^^^^^^^^^^^^^^^^^^^^^ expected `racing_dashboard::MaintenanceTab`, found `MaintenanceTab` [INFO] [stdout] | | [INFO] [stdout] | expected due to the type of this binding [INFO] [stdout] | [INFO] [stdout] = note: `MaintenanceTab` and `racing_dashboard::MaintenanceTab` have similar names, but are actually distinct types [INFO] [stdout] note: `MaintenanceTab` is defined in module `crate` of the current crate [INFO] [stdout] --> src/main.rs:43:1 [INFO] [stdout] | [INFO] [stdout] 43 | pub enum MaintenanceTab { // 將 enum 改為 pub [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: `racing_dashboard::MaintenanceTab` is defined in module `crate::racing_dashboard` of the current crate [INFO] [stdout] --> src/racing_dashboard.rs:298:1 [INFO] [stdout] | [INFO] [stdout] 298 | pub enum MaintenanceTab { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:319:13 [INFO] [stdout] | [INFO] [stdout] 45 | Scheduled, [INFO] [stdout] | --------- unit variant defined here [INFO] [stdout] ... [INFO] [stdout] 318 | match self.selected_maintenance_tab { [INFO] [stdout] | ----------------------------- this expression has type `racing_dashboard::MaintenanceTab` [INFO] [stdout] 319 | MaintenanceTab::Scheduled => self.show_scheduled_maintenance(ui), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ expected `racing_dashboard::MaintenanceTab`, found `MaintenanceTab` [INFO] [stdout] | [INFO] [stdout] = note: `MaintenanceTab` and `racing_dashboard::MaintenanceTab` have similar names, but are actually distinct types [INFO] [stdout] note: `MaintenanceTab` is defined in module `crate` of the current crate [INFO] [stdout] --> src/main.rs:43:1 [INFO] [stdout] | [INFO] [stdout] 43 | pub enum MaintenanceTab { // 將 enum 改為 pub [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: `racing_dashboard::MaintenanceTab` is defined in module `crate::racing_dashboard` of the current crate [INFO] [stdout] --> src/racing_dashboard.rs:298:1 [INFO] [stdout] | [INFO] [stdout] 298 | pub enum MaintenanceTab { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:320:13 [INFO] [stdout] | [INFO] [stdout] 46 | History, [INFO] [stdout] | ------- unit variant defined here [INFO] [stdout] ... [INFO] [stdout] 318 | match self.selected_maintenance_tab { [INFO] [stdout] | ----------------------------- this expression has type `racing_dashboard::MaintenanceTab` [INFO] [stdout] 319 | MaintenanceTab::Scheduled => self.show_scheduled_maintenance(ui), [INFO] [stdout] 320 | MaintenanceTab::History => self.show_maintenance_history(ui), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ expected `racing_dashboard::MaintenanceTab`, found `MaintenanceTab` [INFO] [stdout] | [INFO] [stdout] = note: `MaintenanceTab` and `racing_dashboard::MaintenanceTab` have similar names, but are actually distinct types [INFO] [stdout] note: `MaintenanceTab` is defined in module `crate` of the current crate [INFO] [stdout] --> src/main.rs:43:1 [INFO] [stdout] | [INFO] [stdout] 43 | pub enum MaintenanceTab { // 將 enum 改為 pub [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: `racing_dashboard::MaintenanceTab` is defined in module `crate::racing_dashboard` of the current crate [INFO] [stdout] --> src/racing_dashboard.rs:298:1 [INFO] [stdout] | [INFO] [stdout] 298 | pub enum MaintenanceTab { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:321:13 [INFO] [stdout] | [INFO] [stdout] 47 | Costs, [INFO] [stdout] | ----- unit variant defined here [INFO] [stdout] ... [INFO] [stdout] 318 | match self.selected_maintenance_tab { [INFO] [stdout] | ----------------------------- this expression has type `racing_dashboard::MaintenanceTab` [INFO] [stdout] ... [INFO] [stdout] 321 | MaintenanceTab::Costs => self.show_maintenance_costs(ui), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ expected `racing_dashboard::MaintenanceTab`, found `MaintenanceTab` [INFO] [stdout] | [INFO] [stdout] = note: `MaintenanceTab` and `racing_dashboard::MaintenanceTab` have similar names, but are actually distinct types [INFO] [stdout] note: `MaintenanceTab` is defined in module `crate` of the current crate [INFO] [stdout] --> src/main.rs:43:1 [INFO] [stdout] | [INFO] [stdout] 43 | pub enum MaintenanceTab { // 將 enum 改為 pub [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: `racing_dashboard::MaintenanceTab` is defined in module `crate::racing_dashboard` of the current crate [INFO] [stdout] --> src/racing_dashboard.rs:298:1 [INFO] [stdout] | [INFO] [stdout] 298 | pub enum MaintenanceTab { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:315:49 [INFO] [stdout] | [INFO] [stdout] 315 | self.selected_maintenance_tab = MaintenanceTab::Costs; [INFO] [stdout] | ----------------------------- ^^^^^^^^^^^^^^^^^^^^^ expected `racing_dashboard::MaintenanceTab`, found `MaintenanceTab` [INFO] [stdout] | | [INFO] [stdout] | expected due to the type of this binding [INFO] [stdout] | [INFO] [stdout] = note: `MaintenanceTab` and `racing_dashboard::MaintenanceTab` have similar names, but are actually distinct types [INFO] [stdout] note: `MaintenanceTab` is defined in module `crate` of the current crate [INFO] [stdout] --> src/main.rs:43:1 [INFO] [stdout] | [INFO] [stdout] 43 | pub enum MaintenanceTab { // 將 enum 改為 pub [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: `racing_dashboard::MaintenanceTab` is defined in module `crate::racing_dashboard` of the current crate [INFO] [stdout] --> src/racing_dashboard.rs:298:1 [INFO] [stdout] | [INFO] [stdout] 298 | pub enum MaintenanceTab { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:319:13 [INFO] [stdout] | [INFO] [stdout] 45 | Scheduled, [INFO] [stdout] | --------- unit variant defined here [INFO] [stdout] ... [INFO] [stdout] 318 | match self.selected_maintenance_tab { [INFO] [stdout] | ----------------------------- this expression has type `racing_dashboard::MaintenanceTab` [INFO] [stdout] 319 | MaintenanceTab::Scheduled => self.show_scheduled_maintenance(ui), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ expected `racing_dashboard::MaintenanceTab`, found `MaintenanceTab` [INFO] [stdout] | [INFO] [stdout] = note: `MaintenanceTab` and `racing_dashboard::MaintenanceTab` have similar names, but are actually distinct types [INFO] [stdout] note: `MaintenanceTab` is defined in module `crate` of the current crate [INFO] [stdout] --> src/main.rs:43:1 [INFO] [stdout] | [INFO] [stdout] 43 | pub enum MaintenanceTab { // 將 enum 改為 pub [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: `racing_dashboard::MaintenanceTab` is defined in module `crate::racing_dashboard` of the current crate [INFO] [stdout] --> src/racing_dashboard.rs:298:1 [INFO] [stdout] | [INFO] [stdout] 298 | pub enum MaintenanceTab { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:320:13 [INFO] [stdout] | [INFO] [stdout] 46 | History, [INFO] [stdout] | ------- unit variant defined here [INFO] [stdout] ... [INFO] [stdout] 318 | match self.selected_maintenance_tab { [INFO] [stdout] | ----------------------------- this expression has type `racing_dashboard::MaintenanceTab` [INFO] [stdout] 319 | MaintenanceTab::Scheduled => self.show_scheduled_maintenance(ui), [INFO] [stdout] 320 | MaintenanceTab::History => self.show_maintenance_history(ui), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ expected `racing_dashboard::MaintenanceTab`, found `MaintenanceTab` [INFO] [stdout] | [INFO] [stdout] = note: `MaintenanceTab` and `racing_dashboard::MaintenanceTab` have similar names, but are actually distinct types [INFO] [stdout] note: `MaintenanceTab` is defined in module `crate` of the current crate [INFO] [stdout] --> src/main.rs:43:1 [INFO] [stdout] | [INFO] [stdout] 43 | pub enum MaintenanceTab { // 將 enum 改為 pub [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: `racing_dashboard::MaintenanceTab` is defined in module `crate::racing_dashboard` of the current crate [INFO] [stdout] --> src/racing_dashboard.rs:298:1 [INFO] [stdout] | [INFO] [stdout] 298 | pub enum MaintenanceTab { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:321:13 [INFO] [stdout] | [INFO] [stdout] 47 | Costs, [INFO] [stdout] | ----- unit variant defined here [INFO] [stdout] ... [INFO] [stdout] 318 | match self.selected_maintenance_tab { [INFO] [stdout] | ----------------------------- this expression has type `racing_dashboard::MaintenanceTab` [INFO] [stdout] ... [INFO] [stdout] 321 | MaintenanceTab::Costs => self.show_maintenance_costs(ui), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ expected `racing_dashboard::MaintenanceTab`, found `MaintenanceTab` [INFO] [stdout] | [INFO] [stdout] = note: `MaintenanceTab` and `racing_dashboard::MaintenanceTab` have similar names, but are actually distinct types [INFO] [stdout] note: `MaintenanceTab` is defined in module `crate` of the current crate [INFO] [stdout] --> src/main.rs:43:1 [INFO] [stdout] | [INFO] [stdout] 43 | pub enum MaintenanceTab { // 將 enum 改為 pub [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: `racing_dashboard::MaintenanceTab` is defined in module `crate::racing_dashboard` of the current crate [INFO] [stdout] --> src/racing_dashboard.rs:298:1 [INFO] [stdout] | [INFO] [stdout] 298 | pub enum MaintenanceTab { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `show_scheduled_maintenance` found for mutable reference `&mut RacingDashboard` in the current scope [INFO] [stdout] --> src/main.rs:319:47 [INFO] [stdout] | [INFO] [stdout] 319 | MaintenanceTab::Scheduled => self.show_scheduled_maintenance(ui), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ method not found in `&mut RacingDashboard` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `show_scheduled_maintenance` found for mutable reference `&mut RacingDashboard` in the current scope [INFO] [stdout] --> src/main.rs:319:47 [INFO] [stdout] | [INFO] [stdout] 319 | MaintenanceTab::Scheduled => self.show_scheduled_maintenance(ui), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ method not found in `&mut RacingDashboard` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `show_maintenance_history` found for mutable reference `&mut RacingDashboard` in the current scope [INFO] [stdout] --> src/main.rs:320:45 [INFO] [stdout] | [INFO] [stdout] 320 | MaintenanceTab::History => self.show_maintenance_history(ui), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ method not found in `&mut RacingDashboard` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `show_maintenance_history` found for mutable reference `&mut RacingDashboard` in the current scope [INFO] [stdout] --> src/main.rs:320:45 [INFO] [stdout] | [INFO] [stdout] 320 | MaintenanceTab::History => self.show_maintenance_history(ui), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ method not found in `&mut RacingDashboard` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `show_maintenance_costs` found for mutable reference `&mut RacingDashboard` in the current scope [INFO] [stdout] --> src/main.rs:321:43 [INFO] [stdout] | [INFO] [stdout] 321 | MaintenanceTab::Costs => self.show_maintenance_costs(ui), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ method not found in `&mut RacingDashboard` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `show_maintenance_costs` found for mutable reference `&mut RacingDashboard` in the current scope [INFO] [stdout] --> src/main.rs:321:43 [INFO] [stdout] | [INFO] [stdout] 321 | MaintenanceTab::Costs => self.show_maintenance_costs(ui), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ method not found in `&mut RacingDashboard` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `time` on type `&WeatherForecast` [INFO] [stdout] --> src/main.rs:346:67 [INFO] [stdout] | [INFO] [stdout] 346 | ... ui.label(format!("Time: {}", forecast.time.format("%H:%M"))); [INFO] [stdout] | ^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `cars`, `points`, `budget`, `sponsors` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `time` on type `&WeatherForecast` [INFO] [stdout] --> src/main.rs:346:67 [INFO] [stdout] | [INFO] [stdout] 346 | ... ui.label(format!("Time: {}", forecast.time.format("%H:%M"))); [INFO] [stdout] | ^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `cars`, `points`, `budget`, `sponsors` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `temperature` on type `&WeatherForecast` [INFO] [stdout] --> src/main.rs:347:79 [INFO] [stdout] | [INFO] [stdout] 347 | ... ui.label(format!("Temperature: {:.1}°C", forecast.temperature)); [INFO] [stdout] | ^^^^^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `cars`, `points`, `budget`, `sponsors` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `temperature` on type `&WeatherForecast` [INFO] [stdout] --> src/main.rs:347:79 [INFO] [stdout] | [INFO] [stdout] 347 | ... ui.label(format!("Temperature: {:.1}°C", forecast.temperature)); [INFO] [stdout] | ^^^^^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `cars`, `points`, `budget`, `sponsors` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `track_temperature` on type `&WeatherForecast` [INFO] [stdout] --> src/main.rs:348:78 [INFO] [stdout] | [INFO] [stdout] 348 | ... ui.label(format!("Track Temp: {:.1}°C", forecast.track_temperature)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `cars`, `points`, `budget`, `sponsors` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `track_temperature` on type `&WeatherForecast` [INFO] [stdout] --> src/main.rs:348:78 [INFO] [stdout] | [INFO] [stdout] 348 | ... ui.label(format!("Track Temp: {:.1}°C", forecast.track_temperature)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `cars`, `points`, `budget`, `sponsors` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `precipitation_chance` on type `&WeatherForecast` [INFO] [stdout] --> src/main.rs:349:78 [INFO] [stdout] | [INFO] [stdout] 349 | ... ui.label(format!("Rain Chance: {:.1}%", forecast.precipitation_chance)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `cars`, `points`, `budget`, `sponsors` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `precipitation_chance` on type `&WeatherForecast` [INFO] [stdout] --> src/main.rs:349:78 [INFO] [stdout] | [INFO] [stdout] 349 | ... ui.label(format!("Rain Chance: {:.1}%", forecast.precipitation_chance)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `cars`, `points`, `budget`, `sponsors` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `temperature` on type `&WeatherForecast` [INFO] [stdout] --> src/main.rs:353:42 [INFO] [stdout] | [INFO] [stdout] 353 | ... forecast.temperature, [INFO] [stdout] | ^^^^^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `cars`, `points`, `budget`, `sponsors` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `humidity` on type `&WeatherForecast` [INFO] [stdout] --> src/main.rs:354:42 [INFO] [stdout] | [INFO] [stdout] 354 | ... forecast.humidity, [INFO] [stdout] | ^^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `cars`, `points`, `budget`, `sponsors` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `wind_speed` on type `&WeatherForecast` [INFO] [stdout] --> src/main.rs:355:42 [INFO] [stdout] | [INFO] [stdout] 355 | ... forecast.wind_speed, [INFO] [stdout] | ^^^^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `cars`, `points`, `budget`, `sponsors` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `track_temperature` on type `&WeatherForecast` [INFO] [stdout] --> src/main.rs:356:42 [INFO] [stdout] | [INFO] [stdout] 356 | ... forecast.track_temperature, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `cars`, `points`, `budget`, `sponsors` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `temperature` on type `&WeatherForecast` [INFO] [stdout] --> src/main.rs:353:42 [INFO] [stdout] | [INFO] [stdout] 353 | ... forecast.temperature, [INFO] [stdout] | ^^^^^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `cars`, `points`, `budget`, `sponsors` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `humidity` on type `&WeatherForecast` [INFO] [stdout] --> src/main.rs:354:42 [INFO] [stdout] | [INFO] [stdout] 354 | ... forecast.humidity, [INFO] [stdout] | ^^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `cars`, `points`, `budget`, `sponsors` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `wind_speed` on type `&WeatherForecast` [INFO] [stdout] --> src/main.rs:355:42 [INFO] [stdout] | [INFO] [stdout] 355 | ... forecast.wind_speed, [INFO] [stdout] | ^^^^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `cars`, `points`, `budget`, `sponsors` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `track_temperature` on type `&WeatherForecast` [INFO] [stdout] --> src/main.rs:356:42 [INFO] [stdout] | [INFO] [stdout] 356 | ... forecast.track_temperature, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `cars`, `points`, `budget`, `sponsors` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0616]: field `race_id` of struct `RaceReplay` is private [INFO] [stdout] --> src/main.rs:517:70 [INFO] [stdout] | [INFO] [stdout] 517 | ... ui.heading(format!("Race ID: {}", replay.race_id)); [INFO] [stdout] | ^^^^^^^ private field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0616]: field `events` of struct `RaceReplay` is private [INFO] [stdout] --> src/main.rs:518:50 [INFO] [stdout] | [INFO] [stdout] 518 | ... for event in &replay.events { [INFO] [stdout] | ^^^^^^ private field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0616]: field `race_id` of struct `RaceReplay` is private [INFO] [stdout] --> src/main.rs:517:70 [INFO] [stdout] | [INFO] [stdout] 517 | ... ui.heading(format!("Race ID: {}", replay.race_id)); [INFO] [stdout] | ^^^^^^^ private field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0616]: field `events` of struct `RaceReplay` is private [INFO] [stdout] --> src/main.rs:518:50 [INFO] [stdout] | [INFO] [stdout] 518 | ... for event in &replay.events { [INFO] [stdout] | ^^^^^^ private field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0616]: field `name` of struct `CarUpgrade` is private [INFO] [stdout] --> src/main.rs:536:49 [INFO] [stdout] | [INFO] [stdout] 536 | ... ui.heading(&upgrade.name); [INFO] [stdout] | ^^^^ private field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0616]: field `cost` of struct `CarUpgrade` is private [INFO] [stdout] --> src/main.rs:537:70 [INFO] [stdout] | [INFO] [stdout] 537 | ... ui.label(format!("Cost: ${:.2}", upgrade.cost)); [INFO] [stdout] | ^^^^ private field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0616]: field `effect` of struct `CarUpgrade` is private [INFO] [stdout] --> src/main.rs:539:41 [INFO] [stdout] | [INFO] [stdout] 539 | ... upgrade.effect.acceleration, upgrade.effect.braking, upgrade.effect.cornering, upgrade.effect.stability)); [INFO] [stdout] | ^^^^^^ private field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0616]: field `name` of struct `CarUpgrade` is private [INFO] [stdout] --> src/main.rs:536:49 [INFO] [stdout] | [INFO] [stdout] 536 | ... ui.heading(&upgrade.name); [INFO] [stdout] | ^^^^ private field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0616]: field `effect` of struct `CarUpgrade` is private [INFO] [stdout] --> src/main.rs:539:70 [INFO] [stdout] | [INFO] [stdout] 539 | ... upgrade.effect.acceleration, upgrade.effect.braking, upgrade.effect.cornering, upgrade.effect.stability)); [INFO] [stdout] | ^^^^^^ private field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0616]: field `effect` of struct `CarUpgrade` is private [INFO] [stdout] --> src/main.rs:539:94 [INFO] [stdout] | [INFO] [stdout] 539 | ... upgrade.effect.acceleration, upgrade.effect.braking, upgrade.effect.cornering, upgrade.effect.stability)); [INFO] [stdout] | ^^^^^^ private field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0616]: field `cost` of struct `CarUpgrade` is private [INFO] [stdout] --> src/main.rs:537:70 [INFO] [stdout] | [INFO] [stdout] 537 | ... ui.label(format!("Cost: ${:.2}", upgrade.cost)); [INFO] [stdout] | ^^^^ private field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0616]: field `effect` of struct `CarUpgrade` is private [INFO] [stdout] --> src/main.rs:539:120 [INFO] [stdout] | [INFO] [stdout] 539 | ... upgrade.effect.acceleration, upgrade.effect.braking, upgrade.effect.cornering, upgrade.effect.stability)); [INFO] [stdout] | ^^^^^^ private field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0616]: field `effect` of struct `CarUpgrade` is private [INFO] [stdout] --> src/main.rs:539:41 [INFO] [stdout] | [INFO] [stdout] 539 | ... upgrade.effect.acceleration, upgrade.effect.braking, upgrade.effect.cornering, upgrade.effect.stability)); [INFO] [stdout] | ^^^^^^ private field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0616]: field `effect` of struct `CarUpgrade` is private [INFO] [stdout] --> src/main.rs:539:70 [INFO] [stdout] | [INFO] [stdout] 539 | ... upgrade.effect.acceleration, upgrade.effect.braking, upgrade.effect.cornering, upgrade.effect.stability)); [INFO] [stdout] | ^^^^^^ private field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0616]: field `effect` of struct `CarUpgrade` is private [INFO] [stdout] --> src/main.rs:539:94 [INFO] [stdout] | [INFO] [stdout] 539 | ... upgrade.effect.acceleration, upgrade.effect.braking, upgrade.effect.cornering, upgrade.effect.stability)); [INFO] [stdout] | ^^^^^^ private field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0616]: field `effect` of struct `CarUpgrade` is private [INFO] [stdout] --> src/main.rs:539:120 [INFO] [stdout] | [INFO] [stdout] 539 | ... upgrade.effect.acceleration, upgrade.effect.braking, upgrade.effect.cornering, upgrade.effect.stability)); [INFO] [stdout] | ^^^^^^ private field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0616]: field `effect` of struct `CarUpgrade` is private [INFO] [stdout] --> src/main.rs:551:59 [INFO] [stdout] | [INFO] [stdout] 551 | self.performance_analysis.acceleration += upgrade.effect.acceleration; [INFO] [stdout] | ^^^^^^ private field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0616]: field `effect` of struct `CarUpgrade` is private [INFO] [stdout] --> src/main.rs:552:54 [INFO] [stdout] | [INFO] [stdout] 552 | self.performance_analysis.braking += upgrade.effect.braking; [INFO] [stdout] | ^^^^^^ private field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0616]: field `effect` of struct `CarUpgrade` is private [INFO] [stdout] --> src/main.rs:553:56 [INFO] [stdout] | [INFO] [stdout] 553 | self.performance_analysis.cornering += upgrade.effect.cornering; [INFO] [stdout] | ^^^^^^ private field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0616]: field `effect` of struct `CarUpgrade` is private [INFO] [stdout] --> src/main.rs:551:59 [INFO] [stdout] | [INFO] [stdout] 551 | self.performance_analysis.acceleration += upgrade.effect.acceleration; [INFO] [stdout] | ^^^^^^ private field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0616]: field `effect` of struct `CarUpgrade` is private [INFO] [stdout] --> src/main.rs:554:56 [INFO] [stdout] | [INFO] [stdout] 554 | self.performance_analysis.stability += upgrade.effect.stability; [INFO] [stdout] | ^^^^^^ private field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0616]: field `effect` of struct `CarUpgrade` is private [INFO] [stdout] --> src/main.rs:552:54 [INFO] [stdout] | [INFO] [stdout] 552 | self.performance_analysis.braking += upgrade.effect.braking; [INFO] [stdout] | ^^^^^^ private field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0616]: field `effect` of struct `CarUpgrade` is private [INFO] [stdout] --> src/main.rs:553:56 [INFO] [stdout] | [INFO] [stdout] 553 | self.performance_analysis.cornering += upgrade.effect.cornering; [INFO] [stdout] | ^^^^^^ private field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0616]: field `pit_stops` of struct `RaceStrategy` is private [INFO] [stdout] --> src/main.rs:567:55 [INFO] [stdout] | [INFO] [stdout] 567 | ... for pit_stop in &strategy.pit_stops { [INFO] [stdout] | ^^^^^^^^^ private field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0616]: field `effect` of struct `CarUpgrade` is private [INFO] [stdout] --> src/main.rs:554:56 [INFO] [stdout] | [INFO] [stdout] 554 | self.performance_analysis.stability += upgrade.effect.stability; [INFO] [stdout] | ^^^^^^ private field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0616]: field `pit_stops` of struct `RaceStrategy` is private [INFO] [stdout] --> src/main.rs:567:55 [INFO] [stdout] | [INFO] [stdout] 567 | ... for pit_stop in &strategy.pit_stops { [INFO] [stdout] | ^^^^^^^^^ private field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0616]: field `fuel_load` of struct `RaceStrategy` is private [INFO] [stdout] --> src/main.rs:571:76 [INFO] [stdout] | [INFO] [stdout] 571 | ... ui.label(format!("Fuel Load: {:.1}L", strategy.fuel_load)); [INFO] [stdout] | ^^^^^^^^^ private field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0616]: field `tire_choice` of struct `RaceStrategy` is private [INFO] [stdout] --> src/main.rs:572:74 [INFO] [stdout] | [INFO] [stdout] 572 | ... ui.label(format!("Tire Choice: {}", strategy.tire_choice)); [INFO] [stdout] | ^^^^^^^^^^^ private field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0616]: field `fuel_load` of struct `RaceStrategy` is private [INFO] [stdout] --> src/main.rs:571:76 [INFO] [stdout] | [INFO] [stdout] 571 | ... ui.label(format!("Fuel Load: {:.1}L", strategy.fuel_load)); [INFO] [stdout] | ^^^^^^^^^ private field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0616]: field `tire_choice` of struct `RaceStrategy` is private [INFO] [stdout] --> src/main.rs:572:74 [INFO] [stdout] | [INFO] [stdout] 572 | ... ui.label(format!("Tire Choice: {}", strategy.tire_choice)); [INFO] [stdout] | ^^^^^^^^^^^ private field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0616]: field `track_name` of struct `CarTest` is private [INFO] [stdout] --> src/main.rs:588:46 [INFO] [stdout] | [INFO] [stdout] 588 | ... ui.heading(&test.track_name); [INFO] [stdout] | ^^^^^^^^^^ private field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0616]: field `lap_times` of struct `CarTest` is private [INFO] [stdout] --> src/main.rs:590:55 [INFO] [stdout] | [INFO] [stdout] 590 | ... for (i, lap_time) in test.lap_times.iter().enumerate() { [INFO] [stdout] | ^^^^^^^^^ private field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0616]: field `track_name` of struct `CarTest` is private [INFO] [stdout] --> src/main.rs:588:46 [INFO] [stdout] | [INFO] [stdout] 588 | ... ui.heading(&test.track_name); [INFO] [stdout] | ^^^^^^^^^^ private field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0616]: field `lap_times` of struct `CarTest` is private [INFO] [stdout] --> src/main.rs:590:55 [INFO] [stdout] | [INFO] [stdout] 590 | ... for (i, lap_time) in test.lap_times.iter().enumerate() { [INFO] [stdout] | ^^^^^^^^^ private field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0616]: field `lap_times` of struct `CarTest` is private [INFO] [stdout] --> src/main.rs:595:62 [INFO] [stdout] | [INFO] [stdout] 595 | ... let lap_times: PlotPoints = test.lap_times [INFO] [stdout] | ^^^^^^^^^ private field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0616]: field `lap_times` of struct `CarTest` is private [INFO] [stdout] --> src/main.rs:595:62 [INFO] [stdout] | [INFO] [stdout] 595 | ... let lap_times: PlotPoints = test.lap_times [INFO] [stdout] | ^^^^^^^^^ private field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0616]: field `component` of struct `DamageReport` is private [INFO] [stdout] --> src/main.rs:621:70 [INFO] [stdout] | [INFO] [stdout] 621 | ... ui.label(format!("Component: {}", report.component)); [INFO] [stdout] | ^^^^^^^^^ private field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0616]: field `damage_level` of struct `DamageReport` is private [INFO] [stdout] --> src/main.rs:622:73 [INFO] [stdout] | [INFO] [stdout] 622 | ... ui.label(format!("Damage Level: {}", report.damage_level)); [INFO] [stdout] | ^^^^^^^^^^^^ private field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0616]: field `component` of struct `DamageReport` is private [INFO] [stdout] --> src/main.rs:621:70 [INFO] [stdout] | [INFO] [stdout] 621 | ... ui.label(format!("Component: {}", report.component)); [INFO] [stdout] | ^^^^^^^^^ private field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0616]: field `damage_level` of struct `DamageReport` is private [INFO] [stdout] --> src/main.rs:622:73 [INFO] [stdout] | [INFO] [stdout] 622 | ... ui.label(format!("Damage Level: {}", report.damage_level)); [INFO] [stdout] | ^^^^^^^^^^^^ private field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0616]: field `repair_cost` of struct `DamageReport` is private [INFO] [stdout] --> src/main.rs:623:76 [INFO] [stdout] | [INFO] [stdout] 623 | ... ui.label(format!("Repair Cost: ${:.2}", report.repair_cost)); [INFO] [stdout] | ^^^^^^^^^^^ private field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0616]: field `repair_cost` of struct `DamageReport` is private [INFO] [stdout] --> src/main.rs:623:76 [INFO] [stdout] | [INFO] [stdout] 623 | ... ui.label(format!("Repair Cost: ${:.2}", report.repair_cost)); [INFO] [stdout] | ^^^^^^^^^^^ private field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0616]: field `race_id` of struct `RaceLog` is private [INFO] [stdout] --> src/main.rs:639:67 [INFO] [stdout] | [INFO] [stdout] 639 | ... ui.heading(format!("Race ID: {}", log.race_id)); [INFO] [stdout] | ^^^^^^^ private field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0616]: field `log_entries` of struct `RaceLog` is private [INFO] [stdout] --> src/main.rs:640:47 [INFO] [stdout] | [INFO] [stdout] 640 | ... for entry in &log.log_entries { [INFO] [stdout] | ^^^^^^^^^^^ private field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0616]: field `race_id` of struct `RaceLog` is private [INFO] [stdout] --> src/main.rs:639:67 [INFO] [stdout] | [INFO] [stdout] 639 | ... ui.heading(format!("Race ID: {}", log.race_id)); [INFO] [stdout] | ^^^^^^^ private field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0616]: field `log_entries` of struct `RaceLog` is private [INFO] [stdout] --> src/main.rs:640:47 [INFO] [stdout] | [INFO] [stdout] 640 | ... for entry in &log.log_entries { [INFO] [stdout] | ^^^^^^^^^^^ private field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0616]: field `policy_number` of struct `InsurancePolicy` is private [INFO] [stdout] --> src/main.rs:658:74 [INFO] [stdout] | [INFO] [stdout] 658 | ... ui.label(format!("Policy Number: {}", policy.policy_number)); [INFO] [stdout] | ^^^^^^^^^^^^^ private field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0616]: field `policy_number` of struct `InsurancePolicy` is private [INFO] [stdout] --> src/main.rs:658:74 [INFO] [stdout] | [INFO] [stdout] 658 | ... ui.label(format!("Policy Number: {}", policy.policy_number)); [INFO] [stdout] | ^^^^^^^^^^^^^ private field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0616]: field `coverage_amount` of struct `InsurancePolicy` is private [INFO] [stdout] --> src/main.rs:659:80 [INFO] [stdout] | [INFO] [stdout] 659 | ... ui.label(format!("Coverage Amount: ${:.2}", policy.coverage_amount)); [INFO] [stdout] | ^^^^^^^^^^^^^^^ private field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0616]: field `premium` of struct `InsurancePolicy` is private [INFO] [stdout] --> src/main.rs:660:72 [INFO] [stdout] | [INFO] [stdout] 660 | ... ui.label(format!("Premium: ${:.2}", policy.premium)); [INFO] [stdout] | ^^^^^^^ private field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0616]: field `coverage_amount` of struct `InsurancePolicy` is private [INFO] [stdout] --> src/main.rs:659:80 [INFO] [stdout] | [INFO] [stdout] 659 | ... ui.label(format!("Coverage Amount: ${:.2}", policy.coverage_amount)); [INFO] [stdout] | ^^^^^^^^^^^^^^^ private field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0616]: field `expiration_date` of struct `InsurancePolicy` is private [INFO] [stdout] --> src/main.rs:661:76 [INFO] [stdout] | [INFO] [stdout] 661 | ... ui.label(format!("Expiration Date: {}", policy.expiration_date)); [INFO] [stdout] | ^^^^^^^^^^^^^^^ private field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0616]: field `premium` of struct `InsurancePolicy` is private [INFO] [stdout] --> src/main.rs:660:72 [INFO] [stdout] | [INFO] [stdout] 660 | ... ui.label(format!("Premium: ${:.2}", policy.premium)); [INFO] [stdout] | ^^^^^^^ private field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0616]: field `expiration_date` of struct `InsurancePolicy` is private [INFO] [stdout] --> src/main.rs:661:76 [INFO] [stdout] | [INFO] [stdout] 661 | ... ui.label(format!("Expiration Date: {}", policy.expiration_date)); [INFO] [stdout] | ^^^^^^^^^^^^^^^ private field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0616]: field `race_id` of struct `RacePrediction` is private [INFO] [stdout] --> src/main.rs:677:72 [INFO] [stdout] | [INFO] [stdout] 677 | ... ui.label(format!("Race ID: {}", prediction.race_id)); [INFO] [stdout] | ^^^^^^^ private field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0616]: field `predicted_winner` of struct `RacePrediction` is private [INFO] [stdout] --> src/main.rs:678:81 [INFO] [stdout] | [INFO] [stdout] 678 | ... ui.label(format!("Predicted Winner: {}", prediction.predicted_winner)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ private field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0616]: field `race_id` of struct `RacePrediction` is private [INFO] [stdout] --> src/main.rs:677:72 [INFO] [stdout] | [INFO] [stdout] 677 | ... ui.label(format!("Race ID: {}", prediction.race_id)); [INFO] [stdout] | ^^^^^^^ private field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0616]: field `predicted_lap_time` of struct `RacePrediction` is private [INFO] [stdout] --> src/main.rs:679:87 [INFO] [stdout] | [INFO] [stdout] 679 | ... ui.label(format!("Predicted Lap Time: {:.2}s", prediction.predicted_lap_time)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ private field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0616]: field `predicted_winner` of struct `RacePrediction` is private [INFO] [stdout] --> src/main.rs:678:81 [INFO] [stdout] | [INFO] [stdout] 678 | ... ui.label(format!("Predicted Winner: {}", prediction.predicted_winner)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ private field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0616]: field `predicted_weather` of struct `RacePrediction` is private [INFO] [stdout] --> src/main.rs:680:82 [INFO] [stdout] | [INFO] [stdout] 680 | ... ui.label(format!("Predicted Weather: {}", prediction.predicted_weather)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ private field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0616]: field `predicted_lap_time` of struct `RacePrediction` is private [INFO] [stdout] --> src/main.rs:679:87 [INFO] [stdout] | [INFO] [stdout] 679 | ... ui.label(format!("Predicted Lap Time: {:.2}s", prediction.predicted_lap_time)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ private field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0616]: field `predicted_weather` of struct `RacePrediction` is private [INFO] [stdout] --> src/main.rs:680:82 [INFO] [stdout] | [INFO] [stdout] 680 | ... ui.label(format!("Predicted Weather: {}", prediction.predicted_weather)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ private field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0616]: field `track_name` of struct `TestReport` is private [INFO] [stdout] --> src/main.rs:696:48 [INFO] [stdout] | [INFO] [stdout] 696 | ... ui.heading(&report.track_name); [INFO] [stdout] | ^^^^^^^^^^ private field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0616]: field `track_name` of struct `TestReport` is private [INFO] [stdout] --> src/main.rs:696:48 [INFO] [stdout] | [INFO] [stdout] 696 | ... ui.heading(&report.track_name); [INFO] [stdout] | ^^^^^^^^^^ private field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0616]: field `lap_times` of struct `TestReport` is private [INFO] [stdout] --> src/main.rs:698:57 [INFO] [stdout] | [INFO] [stdout] 698 | ... for (i, lap_time) in report.lap_times.iter().enumerate() { [INFO] [stdout] | ^^^^^^^^^ private field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0616]: field `lap_times` of struct `TestReport` is private [INFO] [stdout] --> src/main.rs:698:57 [INFO] [stdout] | [INFO] [stdout] 698 | ... for (i, lap_time) in report.lap_times.iter().enumerate() { [INFO] [stdout] | ^^^^^^^^^ private field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0616]: field `comments` of struct `TestReport` is private [INFO] [stdout] --> src/main.rs:701:69 [INFO] [stdout] | [INFO] [stdout] 701 | ... ui.label(format!("Comments: {}", report.comments)); [INFO] [stdout] | ^^^^^^^^ private field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0616]: field `comments` of struct `TestReport` is private [INFO] [stdout] --> src/main.rs:701:69 [INFO] [stdout] | [INFO] [stdout] 701 | ... ui.label(format!("Comments: {}", report.comments)); [INFO] [stdout] | ^^^^^^^^ private field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `show_user_management` on type `&mut RacingDashboard` [INFO] [stdout] --> src/main.rs:709:17 [INFO] [stdout] | [INFO] [stdout] 709 | if self.show_user_management { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] help: a field with a similar name exists [INFO] [stdout] | [INFO] [stdout] 709 | if self.show_team_management { [INFO] [stdout] | ~~~~~~~~~~~~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `show_user_management` on type `&mut RacingDashboard` [INFO] [stdout] --> src/main.rs:711:33 [INFO] [stdout] | [INFO] [stdout] 711 | .open(&mut self.show_user_management) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] help: a field with a similar name exists [INFO] [stdout] | [INFO] [stdout] 711 | .open(&mut self.show_team_management) [INFO] [stdout] | ~~~~~~~~~~~~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `show_user_management` on type `&mut RacingDashboard` [INFO] [stdout] --> src/main.rs:709:17 [INFO] [stdout] | [INFO] [stdout] 709 | if self.show_user_management { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] help: a field with a similar name exists [INFO] [stdout] | [INFO] [stdout] 709 | if self.show_team_management { [INFO] [stdout] | ~~~~~~~~~~~~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `users` on type `&mut RacingDashboard` [INFO] [stdout] --> src/main.rs:715:39 [INFO] [stdout] | [INFO] [stdout] 715 | for user in &self.users { [INFO] [stdout] | ^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `records`, `new_record`, `selected_tab`, `seasons`, `achievements` ... and 39 others [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `show_user_management` on type `&mut RacingDashboard` [INFO] [stdout] --> src/main.rs:711:33 [INFO] [stdout] | [INFO] [stdout] 711 | .open(&mut self.show_user_management) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] help: a field with a similar name exists [INFO] [stdout] | [INFO] [stdout] 711 | .open(&mut self.show_team_management) [INFO] [stdout] | ~~~~~~~~~~~~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `users` on type `&mut RacingDashboard` [INFO] [stdout] --> src/main.rs:715:39 [INFO] [stdout] | [INFO] [stdout] 715 | for user in &self.users { [INFO] [stdout] | ^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `records`, `new_record`, `selected_tab`, `seasons`, `achievements` ... and 39 others [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `show_notifications` on type `&mut RacingDashboard` [INFO] [stdout] --> src/main.rs:728:17 [INFO] [stdout] | [INFO] [stdout] 728 | if self.show_notifications { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `records`, `new_record`, `selected_tab`, `seasons`, `achievements` ... and 39 others [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `show_notifications` on type `&mut RacingDashboard` [INFO] [stdout] --> src/main.rs:728:17 [INFO] [stdout] | [INFO] [stdout] 728 | if self.show_notifications { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `records`, `new_record`, `selected_tab`, `seasons`, `achievements` ... and 39 others [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `show_notifications` on type `&mut RacingDashboard` [INFO] [stdout] --> src/main.rs:730:33 [INFO] [stdout] | [INFO] [stdout] 730 | .open(&mut self.show_notifications) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `records`, `new_record`, `selected_tab`, `seasons`, `achievements` ... and 39 others [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `show_notifications` on type `&mut RacingDashboard` [INFO] [stdout] --> src/main.rs:730:33 [INFO] [stdout] | [INFO] [stdout] 730 | .open(&mut self.show_notifications) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `records`, `new_record`, `selected_tab`, `seasons`, `achievements` ... and 39 others [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `notifications` on type `&mut RacingDashboard` [INFO] [stdout] --> src/main.rs:734:47 [INFO] [stdout] | [INFO] [stdout] 734 | for notification in &self.notifications { [INFO] [stdout] | ^^^^^^^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `records`, `new_record`, `selected_tab`, `seasons`, `achievements` ... and 39 others [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `notifications` on type `&mut RacingDashboard` [INFO] [stdout] --> src/main.rs:734:47 [INFO] [stdout] | [INFO] [stdout] 734 | for notification in &self.notifications { [INFO] [stdout] | ^^^^^^^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `records`, `new_record`, `selected_tab`, `seasons`, `achievements` ... and 39 others [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `show_theme_settings` on type `&mut RacingDashboard` [INFO] [stdout] --> src/main.rs:750:17 [INFO] [stdout] | [INFO] [stdout] 750 | if self.show_theme_settings { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `records`, `new_record`, `selected_tab`, `seasons`, `achievements` ... and 39 others [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `show_theme_settings` on type `&mut RacingDashboard` [INFO] [stdout] --> src/main.rs:750:17 [INFO] [stdout] | [INFO] [stdout] 750 | if self.show_theme_settings { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `records`, `new_record`, `selected_tab`, `seasons`, `achievements` ... and 39 others [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `show_theme_settings` on type `&mut RacingDashboard` [INFO] [stdout] --> src/main.rs:752:33 [INFO] [stdout] | [INFO] [stdout] 752 | .open(&mut self.show_theme_settings) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `records`, `new_record`, `selected_tab`, `seasons`, `achievements` ... and 39 others [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `show_theme_settings` on type `&mut RacingDashboard` [INFO] [stdout] --> src/main.rs:752:33 [INFO] [stdout] | [INFO] [stdout] 752 | .open(&mut self.show_theme_settings) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `records`, `new_record`, `selected_tab`, `seasons`, `achievements` ... and 39 others [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `themes` on type `&mut RacingDashboard` [INFO] [stdout] --> src/main.rs:756:40 [INFO] [stdout] | [INFO] [stdout] 756 | for theme in &self.themes { [INFO] [stdout] | ^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `records`, `new_record`, `selected_tab`, `seasons`, `achievements` ... and 39 others [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `themes` on type `&mut RacingDashboard` [INFO] [stdout] --> src/main.rs:756:40 [INFO] [stdout] | [INFO] [stdout] 756 | for theme in &self.themes { [INFO] [stdout] | ^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `records`, `new_record`, `selected_tab`, `seasons`, `achievements` ... and 39 others [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `current_theme` on type `&mut RacingDashboard` [INFO] [stdout] --> src/main.rs:765:38 [INFO] [stdout] | [INFO] [stdout] 765 | ... self.current_theme = theme.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `records`, `new_record`, `selected_tab`, `seasons`, `achievements` ... and 39 others [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `current_theme` on type `&mut RacingDashboard` [INFO] [stdout] --> src/main.rs:765:38 [INFO] [stdout] | [INFO] [stdout] 765 | ... self.current_theme = theme.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `records`, `new_record`, `selected_tab`, `seasons`, `achievements` ... and 39 others [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `show_export_data` on type `&mut RacingDashboard` [INFO] [stdout] --> src/main.rs:774:17 [INFO] [stdout] | [INFO] [stdout] 774 | if self.show_export_data { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `records`, `new_record`, `selected_tab`, `seasons`, `achievements` ... and 39 others [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `show_export_data` on type `&mut RacingDashboard` [INFO] [stdout] --> src/main.rs:776:33 [INFO] [stdout] | [INFO] [stdout] 776 | .open(&mut self.show_export_data) [INFO] [stdout] | ^^^^^^^^^^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `records`, `new_record`, `selected_tab`, `seasons`, `achievements` ... and 39 others [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `show_export_data` on type `&mut RacingDashboard` [INFO] [stdout] --> src/main.rs:774:17 [INFO] [stdout] | [INFO] [stdout] 774 | if self.show_export_data { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `records`, `new_record`, `selected_tab`, `seasons`, `achievements` ... and 39 others [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `show_export_data` on type `&mut RacingDashboard` [INFO] [stdout] --> src/main.rs:776:33 [INFO] [stdout] | [INFO] [stdout] 776 | .open(&mut self.show_export_data) [INFO] [stdout] | ^^^^^^^^^^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `records`, `new_record`, `selected_tab`, `seasons`, `achievements` ... and 39 others [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `current_theme` on type `&mut RacingDashboard` [INFO] [stdout] --> src/main.rs:803:29 [INFO] [stdout] | [INFO] [stdout] 803 | dark_mode: self.current_theme.name == "Dark", [INFO] [stdout] | ^^^^^^^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `records`, `new_record`, `selected_tab`, `seasons`, `achievements` ... and 39 others [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `current_theme` on type `&mut RacingDashboard` [INFO] [stdout] --> src/main.rs:803:29 [INFO] [stdout] | [INFO] [stdout] 803 | dark_mode: self.current_theme.name == "Dark", [INFO] [stdout] | ^^^^^^^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `records`, `new_record`, `selected_tab`, `seasons`, `achievements` ... and 39 others [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `current_theme` on type `&mut RacingDashboard` [INFO] [stdout] --> src/main.rs:805:42 [INFO] [stdout] | [INFO] [stdout] 805 | u8::from_str_radix(&self.current_theme.text_color[1..3], 16).unwrap(), [INFO] [stdout] | ^^^^^^^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `records`, `new_record`, `selected_tab`, `seasons`, `achievements` ... and 39 others [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `current_theme` on type `&mut RacingDashboard` [INFO] [stdout] --> src/main.rs:805:42 [INFO] [stdout] | [INFO] [stdout] 805 | u8::from_str_radix(&self.current_theme.text_color[1..3], 16).unwrap(), [INFO] [stdout] | ^^^^^^^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `records`, `new_record`, `selected_tab`, `seasons`, `achievements` ... and 39 others [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `current_theme` on type `&mut RacingDashboard` [INFO] [stdout] --> src/main.rs:806:42 [INFO] [stdout] | [INFO] [stdout] 806 | u8::from_str_radix(&self.current_theme.text_color[3..5], 16).unwrap(), [INFO] [stdout] | ^^^^^^^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `records`, `new_record`, `selected_tab`, `seasons`, `achievements` ... and 39 others [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `current_theme` on type `&mut RacingDashboard` [INFO] [stdout] --> src/main.rs:807:42 [INFO] [stdout] | [INFO] [stdout] 807 | u8::from_str_radix(&self.current_theme.text_color[5..7], 16).unwrap(), [INFO] [stdout] | ^^^^^^^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `records`, `new_record`, `selected_tab`, `seasons`, `achievements` ... and 39 others [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `current_theme` on type `&mut RacingDashboard` [INFO] [stdout] --> src/main.rs:806:42 [INFO] [stdout] | [INFO] [stdout] 806 | u8::from_str_radix(&self.current_theme.text_color[3..5], 16).unwrap(), [INFO] [stdout] | ^^^^^^^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `records`, `new_record`, `selected_tab`, `seasons`, `achievements` ... and 39 others [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `current_theme` on type `&mut RacingDashboard` [INFO] [stdout] --> src/main.rs:807:42 [INFO] [stdout] | [INFO] [stdout] 807 | u8::from_str_radix(&self.current_theme.text_color[5..7], 16).unwrap(), [INFO] [stdout] | ^^^^^^^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `records`, `new_record`, `selected_tab`, `seasons`, `achievements` ... and 39 others [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:815:61 [INFO] [stdout] | [INFO] [stdout] 815 | if ui.selectable_label(self.selected_tab == Tab::Overview, "Overview").clicked() { [INFO] [stdout] | ----------------- ^^^^^^^^^^^^^ expected `racing_dashboard::Tab`, found `Tab` [INFO] [stdout] | | [INFO] [stdout] | expected because this is `racing_dashboard::Tab` [INFO] [stdout] | [INFO] [stdout] = note: `Tab` and `racing_dashboard::Tab` have similar names, but are actually distinct types [INFO] [stdout] note: `Tab` is defined in module `crate` of the current crate [INFO] [stdout] --> src/main.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | pub enum Tab { // 將 enum 改為 pub [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] note: `racing_dashboard::Tab` is defined in module `crate::racing_dashboard` of the current crate [INFO] [stdout] --> src/racing_dashboard.rs:282:1 [INFO] [stdout] | [INFO] [stdout] 282 | pub enum Tab { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:815:61 [INFO] [stdout] | [INFO] [stdout] 815 | if ui.selectable_label(self.selected_tab == Tab::Overview, "Overview").clicked() { [INFO] [stdout] | ----------------- ^^^^^^^^^^^^^ expected `racing_dashboard::Tab`, found `Tab` [INFO] [stdout] | | [INFO] [stdout] | expected because this is `racing_dashboard::Tab` [INFO] [stdout] | [INFO] [stdout] = note: `Tab` and `racing_dashboard::Tab` have similar names, but are actually distinct types [INFO] [stdout] note: `Tab` is defined in module `crate` of the current crate [INFO] [stdout] --> src/main.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | pub enum Tab { // 將 enum 改為 pub [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] note: `racing_dashboard::Tab` is defined in module `crate::racing_dashboard` of the current crate [INFO] [stdout] --> src/racing_dashboard.rs:282:1 [INFO] [stdout] | [INFO] [stdout] 282 | pub enum Tab { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:816:41 [INFO] [stdout] | [INFO] [stdout] 816 | self.selected_tab = Tab::Overview; [INFO] [stdout] | ----------------- ^^^^^^^^^^^^^ expected `racing_dashboard::Tab`, found `Tab` [INFO] [stdout] | | [INFO] [stdout] | expected due to the type of this binding [INFO] [stdout] | [INFO] [stdout] = note: `Tab` and `racing_dashboard::Tab` have similar names, but are actually distinct types [INFO] [stdout] note: `Tab` is defined in module `crate` of the current crate [INFO] [stdout] --> src/main.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | pub enum Tab { // 將 enum 改為 pub [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] note: `racing_dashboard::Tab` is defined in module `crate::racing_dashboard` of the current crate [INFO] [stdout] --> src/racing_dashboard.rs:282:1 [INFO] [stdout] | [INFO] [stdout] 282 | pub enum Tab { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:816:41 [INFO] [stdout] | [INFO] [stdout] 816 | self.selected_tab = Tab::Overview; [INFO] [stdout] | ----------------- ^^^^^^^^^^^^^ expected `racing_dashboard::Tab`, found `Tab` [INFO] [stdout] | | [INFO] [stdout] | expected due to the type of this binding [INFO] [stdout] | [INFO] [stdout] = note: `Tab` and `racing_dashboard::Tab` have similar names, but are actually distinct types [INFO] [stdout] note: `Tab` is defined in module `crate` of the current crate [INFO] [stdout] --> src/main.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | pub enum Tab { // 將 enum 改為 pub [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] note: `racing_dashboard::Tab` is defined in module `crate::racing_dashboard` of the current crate [INFO] [stdout] --> src/racing_dashboard.rs:282:1 [INFO] [stdout] | [INFO] [stdout] 282 | pub enum Tab { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:818:61 [INFO] [stdout] | [INFO] [stdout] 818 | if ui.selectable_label(self.selected_tab == Tab::AddRecord, "Add Record").clicked() { [INFO] [stdout] | ----------------- ^^^^^^^^^^^^^^ expected `racing_dashboard::Tab`, found `Tab` [INFO] [stdout] | | [INFO] [stdout] | expected because this is `racing_dashboard::Tab` [INFO] [stdout] | [INFO] [stdout] = note: `Tab` and `racing_dashboard::Tab` have similar names, but are actually distinct types [INFO] [stdout] note: `Tab` is defined in module `crate` of the current crate [INFO] [stdout] --> src/main.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | pub enum Tab { // 將 enum 改為 pub [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] note: `racing_dashboard::Tab` is defined in module `crate::racing_dashboard` of the current crate [INFO] [stdout] --> src/racing_dashboard.rs:282:1 [INFO] [stdout] | [INFO] [stdout] 282 | pub enum Tab { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:818:61 [INFO] [stdout] | [INFO] [stdout] 818 | if ui.selectable_label(self.selected_tab == Tab::AddRecord, "Add Record").clicked() { [INFO] [stdout] | ----------------- ^^^^^^^^^^^^^^ expected `racing_dashboard::Tab`, found `Tab` [INFO] [stdout] | | [INFO] [stdout] | expected because this is `racing_dashboard::Tab` [INFO] [stdout] | [INFO] [stdout] = note: `Tab` and `racing_dashboard::Tab` have similar names, but are actually distinct types [INFO] [stdout] note: `Tab` is defined in module `crate` of the current crate [INFO] [stdout] --> src/main.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | pub enum Tab { // 將 enum 改為 pub [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] note: `racing_dashboard::Tab` is defined in module `crate::racing_dashboard` of the current crate [INFO] [stdout] --> src/racing_dashboard.rs:282:1 [INFO] [stdout] | [INFO] [stdout] 282 | pub enum Tab { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:819:41 [INFO] [stdout] | [INFO] [stdout] 819 | self.selected_tab = Tab::AddRecord; [INFO] [stdout] | ----------------- ^^^^^^^^^^^^^^ expected `racing_dashboard::Tab`, found `Tab` [INFO] [stdout] | | [INFO] [stdout] | expected due to the type of this binding [INFO] [stdout] | [INFO] [stdout] = note: `Tab` and `racing_dashboard::Tab` have similar names, but are actually distinct types [INFO] [stdout] note: `Tab` is defined in module `crate` of the current crate [INFO] [stdout] --> src/main.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | pub enum Tab { // 將 enum 改為 pub [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] note: `racing_dashboard::Tab` is defined in module `crate::racing_dashboard` of the current crate [INFO] [stdout] --> src/racing_dashboard.rs:282:1 [INFO] [stdout] | [INFO] [stdout] 282 | pub enum Tab { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:819:41 [INFO] [stdout] | [INFO] [stdout] 819 | self.selected_tab = Tab::AddRecord; [INFO] [stdout] | ----------------- ^^^^^^^^^^^^^^ expected `racing_dashboard::Tab`, found `Tab` [INFO] [stdout] | | [INFO] [stdout] | expected due to the type of this binding [INFO] [stdout] | [INFO] [stdout] = note: `Tab` and `racing_dashboard::Tab` have similar names, but are actually distinct types [INFO] [stdout] note: `Tab` is defined in module `crate` of the current crate [INFO] [stdout] --> src/main.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | pub enum Tab { // 將 enum 改為 pub [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] note: `racing_dashboard::Tab` is defined in module `crate::racing_dashboard` of the current crate [INFO] [stdout] --> src/racing_dashboard.rs:282:1 [INFO] [stdout] | [INFO] [stdout] 282 | pub enum Tab { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:821:61 [INFO] [stdout] | [INFO] [stdout] 821 | if ui.selectable_label(self.selected_tab == Tab::Statistics, "Statistics").clicked() { [INFO] [stdout] | ----------------- ^^^^^^^^^^^^^^^ expected `racing_dashboard::Tab`, found `Tab` [INFO] [stdout] | | [INFO] [stdout] | expected because this is `racing_dashboard::Tab` [INFO] [stdout] | [INFO] [stdout] = note: `Tab` and `racing_dashboard::Tab` have similar names, but are actually distinct types [INFO] [stdout] note: `Tab` is defined in module `crate` of the current crate [INFO] [stdout] --> src/main.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | pub enum Tab { // 將 enum 改為 pub [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] note: `racing_dashboard::Tab` is defined in module `crate::racing_dashboard` of the current crate [INFO] [stdout] --> src/racing_dashboard.rs:282:1 [INFO] [stdout] | [INFO] [stdout] 282 | pub enum Tab { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:821:61 [INFO] [stdout] | [INFO] [stdout] 821 | if ui.selectable_label(self.selected_tab == Tab::Statistics, "Statistics").clicked() { [INFO] [stdout] | ----------------- ^^^^^^^^^^^^^^^ expected `racing_dashboard::Tab`, found `Tab` [INFO] [stdout] | | [INFO] [stdout] | expected because this is `racing_dashboard::Tab` [INFO] [stdout] | [INFO] [stdout] = note: `Tab` and `racing_dashboard::Tab` have similar names, but are actually distinct types [INFO] [stdout] note: `Tab` is defined in module `crate` of the current crate [INFO] [stdout] --> src/main.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | pub enum Tab { // 將 enum 改為 pub [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] note: `racing_dashboard::Tab` is defined in module `crate::racing_dashboard` of the current crate [INFO] [stdout] --> src/racing_dashboard.rs:282:1 [INFO] [stdout] | [INFO] [stdout] 282 | pub enum Tab { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:822:41 [INFO] [stdout] | [INFO] [stdout] 822 | self.selected_tab = Tab::Statistics; [INFO] [stdout] | ----------------- ^^^^^^^^^^^^^^^ expected `racing_dashboard::Tab`, found `Tab` [INFO] [stdout] | | [INFO] [stdout] | expected due to the type of this binding [INFO] [stdout] | [INFO] [stdout] = note: `Tab` and `racing_dashboard::Tab` have similar names, but are actually distinct types [INFO] [stdout] note: `Tab` is defined in module `crate` of the current crate [INFO] [stdout] --> src/main.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | pub enum Tab { // 將 enum 改為 pub [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] note: `racing_dashboard::Tab` is defined in module `crate::racing_dashboard` of the current crate [INFO] [stdout] --> src/racing_dashboard.rs:282:1 [INFO] [stdout] | [INFO] [stdout] 282 | pub enum Tab { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:822:41 [INFO] [stdout] | [INFO] [stdout] 822 | self.selected_tab = Tab::Statistics; [INFO] [stdout] | ----------------- ^^^^^^^^^^^^^^^ expected `racing_dashboard::Tab`, found `Tab` [INFO] [stdout] | | [INFO] [stdout] | expected due to the type of this binding [INFO] [stdout] | [INFO] [stdout] = note: `Tab` and `racing_dashboard::Tab` have similar names, but are actually distinct types [INFO] [stdout] note: `Tab` is defined in module `crate` of the current crate [INFO] [stdout] --> src/main.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | pub enum Tab { // 將 enum 改為 pub [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] note: `racing_dashboard::Tab` is defined in module `crate::racing_dashboard` of the current crate [INFO] [stdout] --> src/racing_dashboard.rs:282:1 [INFO] [stdout] | [INFO] [stdout] 282 | pub enum Tab { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:824:61 [INFO] [stdout] | [INFO] [stdout] 824 | if ui.selectable_label(self.selected_tab == Tab::UserManagement, "User Management").clicked() { [INFO] [stdout] | ----------------- ^^^^^^^^^^^^^^^^^^^ expected `racing_dashboard::Tab`, found `Tab` [INFO] [stdout] | | [INFO] [stdout] | expected because this is `racing_dashboard::Tab` [INFO] [stdout] | [INFO] [stdout] = note: `Tab` and `racing_dashboard::Tab` have similar names, but are actually distinct types [INFO] [stdout] note: `Tab` is defined in module `crate` of the current crate [INFO] [stdout] --> src/main.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | pub enum Tab { // 將 enum 改為 pub [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] note: `racing_dashboard::Tab` is defined in module `crate::racing_dashboard` of the current crate [INFO] [stdout] --> src/racing_dashboard.rs:282:1 [INFO] [stdout] | [INFO] [stdout] 282 | pub enum Tab { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0615]: attempted to take value of method `show_user_management` on type `&mut RacingDashboard` [INFO] [stdout] --> src/main.rs:825:26 [INFO] [stdout] | [INFO] [stdout] 825 | self.show_user_management = true; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ method, not a field [INFO] [stdout] | [INFO] [stdout] = help: methods are immutable and cannot be assigned to [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:824:61 [INFO] [stdout] | [INFO] [stdout] 824 | if ui.selectable_label(self.selected_tab == Tab::UserManagement, "User Management").clicked() { [INFO] [stdout] | ----------------- ^^^^^^^^^^^^^^^^^^^ expected `racing_dashboard::Tab`, found `Tab` [INFO] [stdout] | | [INFO] [stdout] | expected because this is `racing_dashboard::Tab` [INFO] [stdout] | [INFO] [stdout] = note: `Tab` and `racing_dashboard::Tab` have similar names, but are actually distinct types [INFO] [stdout] note: `Tab` is defined in module `crate` of the current crate [INFO] [stdout] --> src/main.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | pub enum Tab { // 將 enum 改為 pub [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] note: `racing_dashboard::Tab` is defined in module `crate::racing_dashboard` of the current crate [INFO] [stdout] --> src/racing_dashboard.rs:282:1 [INFO] [stdout] | [INFO] [stdout] 282 | pub enum Tab { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0615]: attempted to take value of method `show_user_management` on type `&mut RacingDashboard` [INFO] [stdout] --> src/main.rs:825:26 [INFO] [stdout] | [INFO] [stdout] 825 | self.show_user_management = true; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ method, not a field [INFO] [stdout] | [INFO] [stdout] = help: methods are immutable and cannot be assigned to [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:827:61 [INFO] [stdout] | [INFO] [stdout] 827 | if ui.selectable_label(self.selected_tab == Tab::Notifications, "Notifications").clicked() { [INFO] [stdout] | ----------------- ^^^^^^^^^^^^^^^^^^ expected `racing_dashboard::Tab`, found `Tab` [INFO] [stdout] | | [INFO] [stdout] | expected because this is `racing_dashboard::Tab` [INFO] [stdout] | [INFO] [stdout] = note: `Tab` and `racing_dashboard::Tab` have similar names, but are actually distinct types [INFO] [stdout] note: `Tab` is defined in module `crate` of the current crate [INFO] [stdout] --> src/main.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | pub enum Tab { // 將 enum 改為 pub [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] note: `racing_dashboard::Tab` is defined in module `crate::racing_dashboard` of the current crate [INFO] [stdout] --> src/racing_dashboard.rs:282:1 [INFO] [stdout] | [INFO] [stdout] 282 | pub enum Tab { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0615]: attempted to take value of method `show_notifications` on type `&mut RacingDashboard` [INFO] [stdout] --> src/main.rs:828:26 [INFO] [stdout] | [INFO] [stdout] 828 | self.show_notifications = true; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ method, not a field [INFO] [stdout] | [INFO] [stdout] = help: methods are immutable and cannot be assigned to [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:827:61 [INFO] [stdout] | [INFO] [stdout] 827 | if ui.selectable_label(self.selected_tab == Tab::Notifications, "Notifications").clicked() { [INFO] [stdout] | ----------------- ^^^^^^^^^^^^^^^^^^ expected `racing_dashboard::Tab`, found `Tab` [INFO] [stdout] | | [INFO] [stdout] | expected because this is `racing_dashboard::Tab` [INFO] [stdout] | [INFO] [stdout] = note: `Tab` and `racing_dashboard::Tab` have similar names, but are actually distinct types [INFO] [stdout] note: `Tab` is defined in module `crate` of the current crate [INFO] [stdout] --> src/main.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | pub enum Tab { // 將 enum 改為 pub [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] note: `racing_dashboard::Tab` is defined in module `crate::racing_dashboard` of the current crate [INFO] [stdout] --> src/racing_dashboard.rs:282:1 [INFO] [stdout] | [INFO] [stdout] 282 | pub enum Tab { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0615]: attempted to take value of method `show_notifications` on type `&mut RacingDashboard` [INFO] [stdout] --> src/main.rs:828:26 [INFO] [stdout] | [INFO] [stdout] 828 | self.show_notifications = true; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ method, not a field [INFO] [stdout] | [INFO] [stdout] = help: methods are immutable and cannot be assigned to [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:830:61 [INFO] [stdout] | [INFO] [stdout] 830 | if ui.selectable_label(self.selected_tab == Tab::ThemeSettings, "Theme Settings").clicked() { [INFO] [stdout] | ----------------- ^^^^^^^^^^^^^^^^^^ expected `racing_dashboard::Tab`, found `Tab` [INFO] [stdout] | | [INFO] [stdout] | expected because this is `racing_dashboard::Tab` [INFO] [stdout] | [INFO] [stdout] = note: `Tab` and `racing_dashboard::Tab` have similar names, but are actually distinct types [INFO] [stdout] note: `Tab` is defined in module `crate` of the current crate [INFO] [stdout] --> src/main.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | pub enum Tab { // 將 enum 改為 pub [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] note: `racing_dashboard::Tab` is defined in module `crate::racing_dashboard` of the current crate [INFO] [stdout] --> src/racing_dashboard.rs:282:1 [INFO] [stdout] | [INFO] [stdout] 282 | pub enum Tab { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0615]: attempted to take value of method `show_theme_settings` on type `&mut RacingDashboard` [INFO] [stdout] --> src/main.rs:831:26 [INFO] [stdout] | [INFO] [stdout] 831 | self.show_theme_settings = true; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ method, not a field [INFO] [stdout] | [INFO] [stdout] = help: methods are immutable and cannot be assigned to [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:830:61 [INFO] [stdout] | [INFO] [stdout] 830 | if ui.selectable_label(self.selected_tab == Tab::ThemeSettings, "Theme Settings").clicked() { [INFO] [stdout] | ----------------- ^^^^^^^^^^^^^^^^^^ expected `racing_dashboard::Tab`, found `Tab` [INFO] [stdout] | | [INFO] [stdout] | expected because this is `racing_dashboard::Tab` [INFO] [stdout] | [INFO] [stdout] = note: `Tab` and `racing_dashboard::Tab` have similar names, but are actually distinct types [INFO] [stdout] note: `Tab` is defined in module `crate` of the current crate [INFO] [stdout] --> src/main.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | pub enum Tab { // 將 enum 改為 pub [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] note: `racing_dashboard::Tab` is defined in module `crate::racing_dashboard` of the current crate [INFO] [stdout] --> src/racing_dashboard.rs:282:1 [INFO] [stdout] | [INFO] [stdout] 282 | pub enum Tab { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0615]: attempted to take value of method `show_theme_settings` on type `&mut RacingDashboard` [INFO] [stdout] --> src/main.rs:831:26 [INFO] [stdout] | [INFO] [stdout] 831 | self.show_theme_settings = true; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ method, not a field [INFO] [stdout] | [INFO] [stdout] = help: methods are immutable and cannot be assigned to [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:833:61 [INFO] [stdout] | [INFO] [stdout] 833 | if ui.selectable_label(self.selected_tab == Tab::ExportData, "Export Data").clicked() { [INFO] [stdout] | ----------------- ^^^^^^^^^^^^^^^ expected `racing_dashboard::Tab`, found `Tab` [INFO] [stdout] | | [INFO] [stdout] | expected because this is `racing_dashboard::Tab` [INFO] [stdout] | [INFO] [stdout] = note: `Tab` and `racing_dashboard::Tab` have similar names, but are actually distinct types [INFO] [stdout] note: `Tab` is defined in module `crate` of the current crate [INFO] [stdout] --> src/main.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | pub enum Tab { // 將 enum 改為 pub [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] note: `racing_dashboard::Tab` is defined in module `crate::racing_dashboard` of the current crate [INFO] [stdout] --> src/racing_dashboard.rs:282:1 [INFO] [stdout] | [INFO] [stdout] 282 | pub enum Tab { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0615]: attempted to take value of method `show_export_data` on type `&mut RacingDashboard` [INFO] [stdout] --> src/main.rs:834:26 [INFO] [stdout] | [INFO] [stdout] 834 | self.show_export_data = true; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ method, not a field [INFO] [stdout] | [INFO] [stdout] = help: methods are immutable and cannot be assigned to [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:833:61 [INFO] [stdout] | [INFO] [stdout] 833 | if ui.selectable_label(self.selected_tab == Tab::ExportData, "Export Data").clicked() { [INFO] [stdout] | ----------------- ^^^^^^^^^^^^^^^ expected `racing_dashboard::Tab`, found `Tab` [INFO] [stdout] | | [INFO] [stdout] | expected because this is `racing_dashboard::Tab` [INFO] [stdout] | [INFO] [stdout] = note: `Tab` and `racing_dashboard::Tab` have similar names, but are actually distinct types [INFO] [stdout] note: `Tab` is defined in module `crate` of the current crate [INFO] [stdout] --> src/main.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | pub enum Tab { // 將 enum 改為 pub [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] note: `racing_dashboard::Tab` is defined in module `crate::racing_dashboard` of the current crate [INFO] [stdout] --> src/racing_dashboard.rs:282:1 [INFO] [stdout] | [INFO] [stdout] 282 | pub enum Tab { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0615]: attempted to take value of method `show_export_data` on type `&mut RacingDashboard` [INFO] [stdout] --> src/main.rs:834:26 [INFO] [stdout] | [INFO] [stdout] 834 | self.show_export_data = true; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ method, not a field [INFO] [stdout] | [INFO] [stdout] = help: methods are immutable and cannot be assigned to [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:839:17 [INFO] [stdout] | [INFO] [stdout] 25 | Overview, [INFO] [stdout] | -------- unit variant defined here [INFO] [stdout] ... [INFO] [stdout] 838 | match self.selected_tab { [INFO] [stdout] | ----------------- this expression has type `racing_dashboard::Tab` [INFO] [stdout] 839 | Tab::Overview => self.show_overview(ui), [INFO] [stdout] | ^^^^^^^^^^^^^ expected `racing_dashboard::Tab`, found `Tab` [INFO] [stdout] | [INFO] [stdout] = note: `Tab` and `racing_dashboard::Tab` have similar names, but are actually distinct types [INFO] [stdout] note: `Tab` is defined in module `crate` of the current crate [INFO] [stdout] --> src/main.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | pub enum Tab { // 將 enum 改為 pub [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] note: `racing_dashboard::Tab` is defined in module `crate::racing_dashboard` of the current crate [INFO] [stdout] --> src/racing_dashboard.rs:282:1 [INFO] [stdout] | [INFO] [stdout] 282 | pub enum Tab { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:840:17 [INFO] [stdout] | [INFO] [stdout] 26 | AddRecord, [INFO] [stdout] | --------- unit variant defined here [INFO] [stdout] ... [INFO] [stdout] 838 | match self.selected_tab { [INFO] [stdout] | ----------------- this expression has type `racing_dashboard::Tab` [INFO] [stdout] 839 | Tab::Overview => self.show_overview(ui), [INFO] [stdout] 840 | Tab::AddRecord => self.show_add_record(ui), [INFO] [stdout] | ^^^^^^^^^^^^^^ expected `racing_dashboard::Tab`, found `Tab` [INFO] [stdout] | [INFO] [stdout] = note: `Tab` and `racing_dashboard::Tab` have similar names, but are actually distinct types [INFO] [stdout] note: `Tab` is defined in module `crate` of the current crate [INFO] [stdout] --> src/main.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | pub enum Tab { // 將 enum 改為 pub [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] note: `racing_dashboard::Tab` is defined in module `crate::racing_dashboard` of the current crate [INFO] [stdout] --> src/racing_dashboard.rs:282:1 [INFO] [stdout] | [INFO] [stdout] 282 | pub enum Tab { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:841:17 [INFO] [stdout] | [INFO] [stdout] 27 | Statistics, [INFO] [stdout] | ---------- unit variant defined here [INFO] [stdout] ... [INFO] [stdout] 838 | match self.selected_tab { [INFO] [stdout] | ----------------- this expression has type `racing_dashboard::Tab` [INFO] [stdout] ... [INFO] [stdout] 841 | Tab::Statistics => self.show_statistics(ui), [INFO] [stdout] | ^^^^^^^^^^^^^^^ expected `racing_dashboard::Tab`, found `Tab` [INFO] [stdout] | [INFO] [stdout] = note: `Tab` and `racing_dashboard::Tab` have similar names, but are actually distinct types [INFO] [stdout] note: `Tab` is defined in module `crate` of the current crate [INFO] [stdout] --> src/main.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | pub enum Tab { // 將 enum 改為 pub [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] note: `racing_dashboard::Tab` is defined in module `crate::racing_dashboard` of the current crate [INFO] [stdout] --> src/racing_dashboard.rs:282:1 [INFO] [stdout] | [INFO] [stdout] 282 | pub enum Tab { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:839:17 [INFO] [stdout] | [INFO] [stdout] 25 | Overview, [INFO] [stdout] | -------- unit variant defined here [INFO] [stdout] ... [INFO] [stdout] 838 | match self.selected_tab { [INFO] [stdout] | ----------------- this expression has type `racing_dashboard::Tab` [INFO] [stdout] 839 | Tab::Overview => self.show_overview(ui), [INFO] [stdout] | ^^^^^^^^^^^^^ expected `racing_dashboard::Tab`, found `Tab` [INFO] [stdout] | [INFO] [stdout] = note: `Tab` and `racing_dashboard::Tab` have similar names, but are actually distinct types [INFO] [stdout] note: `Tab` is defined in module `crate` of the current crate [INFO] [stdout] --> src/main.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | pub enum Tab { // 將 enum 改為 pub [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] note: `racing_dashboard::Tab` is defined in module `crate::racing_dashboard` of the current crate [INFO] [stdout] --> src/racing_dashboard.rs:282:1 [INFO] [stdout] | [INFO] [stdout] 282 | pub enum Tab { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:840:17 [INFO] [stdout] | [INFO] [stdout] 26 | AddRecord, [INFO] [stdout] | --------- unit variant defined here [INFO] [stdout] ... [INFO] [stdout] 838 | match self.selected_tab { [INFO] [stdout] | ----------------- this expression has type `racing_dashboard::Tab` [INFO] [stdout] 839 | Tab::Overview => self.show_overview(ui), [INFO] [stdout] 840 | Tab::AddRecord => self.show_add_record(ui), [INFO] [stdout] | ^^^^^^^^^^^^^^ expected `racing_dashboard::Tab`, found `Tab` [INFO] [stdout] | [INFO] [stdout] = note: `Tab` and `racing_dashboard::Tab` have similar names, but are actually distinct types [INFO] [stdout] note: `Tab` is defined in module `crate` of the current crate [INFO] [stdout] --> src/main.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | pub enum Tab { // 將 enum 改為 pub [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] note: `racing_dashboard::Tab` is defined in module `crate::racing_dashboard` of the current crate [INFO] [stdout] --> src/racing_dashboard.rs:282:1 [INFO] [stdout] | [INFO] [stdout] 282 | pub enum Tab { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:841:17 [INFO] [stdout] | [INFO] [stdout] 27 | Statistics, [INFO] [stdout] | ---------- unit variant defined here [INFO] [stdout] ... [INFO] [stdout] 838 | match self.selected_tab { [INFO] [stdout] | ----------------- this expression has type `racing_dashboard::Tab` [INFO] [stdout] ... [INFO] [stdout] 841 | Tab::Statistics => self.show_statistics(ui), [INFO] [stdout] | ^^^^^^^^^^^^^^^ expected `racing_dashboard::Tab`, found `Tab` [INFO] [stdout] | [INFO] [stdout] = note: `Tab` and `racing_dashboard::Tab` have similar names, but are actually distinct types [INFO] [stdout] note: `Tab` is defined in module `crate` of the current crate [INFO] [stdout] --> src/main.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | pub enum Tab { // 將 enum 改為 pub [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] note: `racing_dashboard::Tab` is defined in module `crate::racing_dashboard` of the current crate [INFO] [stdout] --> src/racing_dashboard.rs:282:1 [INFO] [stdout] | [INFO] [stdout] 282 | pub enum Tab { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0560]: struct `NativeOptions` has no field named `initial_window_size` [INFO] [stdout] --> src/main.rs:1014:9 [INFO] [stdout] | [INFO] [stdout] 1014 | initial_window_size: Some(egui::vec2(800.0, 600.0)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ `NativeOptions` does not have this field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `viewport`, `vsync`, `multisampling`, `depth_buffer`, `stencil_buffer` ... and 10 others [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0560]: struct `NativeOptions` has no field named `initial_window_size` [INFO] [stdout] --> src/main.rs:1014:9 [INFO] [stdout] | [INFO] [stdout] 1014 | initial_window_size: Some(egui::vec2(800.0, 600.0)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ `NativeOptions` does not have this field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `viewport`, `vsync`, `multisampling`, `depth_buffer`, `stencil_buffer` ... and 10 others [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0500]: closure requires unique access to `self.show_setup_window` but it is already borrowed [INFO] [stdout] --> src/racing_dashboard.rs:344:24 [INFO] [stdout] | [INFO] [stdout] 343 | .open(&mut self.show_setup_window) [INFO] [stdout] | --------------------------- borrow occurs here [INFO] [stdout] 344 | .show(ctx, |ui| { [INFO] [stdout] | ---- ^^^^ closure construction occurs here [INFO] [stdout] | | [INFO] [stdout] | first borrow later used by call [INFO] [stdout] ... [INFO] [stdout] 354 | self.show_setup_window = false; [INFO] [stdout] | ---------------------- second borrow occurs due to use of `self.show_setup_window` in closure [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0500]: closure requires unique access to `self.show_setup_window` but it is already borrowed [INFO] [stdout] --> src/racing_dashboard.rs:344:24 [INFO] [stdout] | [INFO] [stdout] 343 | .open(&mut self.show_setup_window) [INFO] [stdout] | --------------------------- borrow occurs here [INFO] [stdout] 344 | .show(ctx, |ui| { [INFO] [stdout] | ---- ^^^^ closure construction occurs here [INFO] [stdout] | | [INFO] [stdout] | first borrow later used by call [INFO] [stdout] ... [INFO] [stdout] 354 | self.show_setup_window = false; [INFO] [stdout] | ---------------------- second borrow occurs due to use of `self.show_setup_window` in closure [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0500]: closure requires unique access to `*self` but it is already borrowed [INFO] [stdout] --> src/main.rs:116:24 [INFO] [stdout] | [INFO] [stdout] 115 | .open(&mut self.show_weather_window) [INFO] [stdout] | ----------------------------- borrow occurs here [INFO] [stdout] 116 | .show(ctx, |ui| { [INFO] [stdout] | ---- ^^^^ closure construction occurs here [INFO] [stdout] | | [INFO] [stdout] | first borrow later used by call [INFO] [stdout] 117 | ui.add(egui::Slider::new(&mut self.new_record.temperature, 0.0..=40.0).text("Temperature (°C)")); [INFO] [stdout] | --------------------------- capture is mutable because of use here [INFO] [stdout] ... [INFO] [stdout] 122 | let performance_impact = self.calculate_weather_impact(); [INFO] [stdout] | ---- second borrow occurs due to use of `*self` in closure [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0500]: closure requires unique access to `*self` but it is already borrowed [INFO] [stdout] --> src/main.rs:116:24 [INFO] [stdout] | [INFO] [stdout] 115 | .open(&mut self.show_weather_window) [INFO] [stdout] | ----------------------------- borrow occurs here [INFO] [stdout] 116 | .show(ctx, |ui| { [INFO] [stdout] | ---- ^^^^ closure construction occurs here [INFO] [stdout] | | [INFO] [stdout] | first borrow later used by call [INFO] [stdout] 117 | ui.add(egui::Slider::new(&mut self.new_record.temperature, 0.0..=40.0).text("Temperature (°C)")); [INFO] [stdout] | --------------------------- capture is mutable because of use here [INFO] [stdout] ... [INFO] [stdout] 122 | let performance_impact = self.calculate_weather_impact(); [INFO] [stdout] | ---- second borrow occurs due to use of `*self` in closure [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0034, E0119, E0255, E0277, E0308, E0432, E0500, E0560, E0592... [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0034`. [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0034, E0119, E0255, E0277, E0308, E0432, E0500, E0560, E0592... [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0034`. [INFO] [stdout] [INFO] [stderr] error: could not compile `racing_dashboard` (bin "racing_dashboard" test) due to 207 previous errors [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error: could not compile `racing_dashboard` (bin "racing_dashboard") due to 207 previous errors [INFO] running `Command { std: "docker" "inspect" "036bfea06cab33ba7f1a7fcc9d2b15ab8c57dc36fedd2521c26c89183770cee4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "036bfea06cab33ba7f1a7fcc9d2b15ab8c57dc36fedd2521c26c89183770cee4", kill_on_drop: false }` [INFO] [stdout] 036bfea06cab33ba7f1a7fcc9d2b15ab8c57dc36fedd2521c26c89183770cee4