mtkennerly / ludusavi

Backup tool for PC game saves

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Can't install via cargo, mismatched types errors

Tokariew opened this issue · comments

Ludusavi version

v0.22.0

Operating system

Linux

Installation method

Cargo

Description

I try to install latest version via cargo, but at the end i got mismatched types error from rust compiler.
Using latest fedora39, and i think all revelant distro package are installed.

Logs

output of instalation on error
➜ cargo install ludusavi
Updating crates.io index
Installing ludusavi v0.22.0
Updating crates.io index
Compiling proc-macro2 v1.0.71
Compiling unicode-ident v1.0.12
Compiling cfg-if v1.0.0
Compiling libc v0.2.151
Compiling autocfg v1.1.0
Compiling bitflags v1.3.2
Compiling version_check v0.9.4
Compiling thiserror v1.0.52
Compiling log v0.4.20
Compiling pkg-config v0.3.28
Compiling once_cell v1.19.0
Compiling smallvec v1.11.2
Compiling memchr v2.6.4
Compiling libloading v0.8.1
Compiling lazy_static v1.4.0
Compiling bitflags v2.4.1
Compiling dlib v0.5.2
Compiling pin-project-lite v0.2.13
Compiling pin-utils v0.1.0
Compiling ahash v0.8.6
Compiling slotmap v1.0.7
Compiling xml-rs v0.8.19
Compiling zerocopy v0.7.32
Compiling num-traits v0.2.17
Compiling memoffset v0.6.5
Compiling simd-adler32 v0.3.7
Compiling scoped-tls v1.0.1
Compiling crc32fast v1.3.2
Compiling quote v1.0.33
Compiling futures-core v0.3.30
Compiling downcast-rs v1.2.0
Compiling syn v2.0.43
Compiling slab v0.4.9
Compiling allocator-api2 v0.2.16
Compiling wayland-scanner v0.29.5
Compiling siphasher v0.3.11
Compiling rand_core v0.6.4
Compiling jobserver v0.1.27
Compiling adler v1.0.2
Compiling futures-sink v0.3.30
Compiling phf_shared v0.11.2
Compiling miniz_oxide v0.7.1
Compiling cc v1.0.83
Compiling hashbrown v0.14.3
Compiling rand v0.8.5
Compiling arrayvec v0.7.4
Compiling getrandom v0.2.11
Compiling num_cpus v1.16.0
Compiling nix v0.25.1
Compiling bytes v1.5.0
Compiling phf_generator v0.11.2
Compiling mio v0.8.10
Compiling flate2 v1.0.28
Compiling futures-channel v0.3.30
Compiling wayland-sys v0.29.5
Compiling futures-io v0.3.30
Compiling ppv-lite86 v0.2.17
Compiling static_assertions v1.1.0
Compiling typenum v1.17.0
Compiling raw-window-handle v0.5.2
Compiling futures-task v0.3.30
Compiling rustc-hash v1.1.0
Compiling socket2 v0.5.5
Compiling generic-array v0.14.7
Compiling libloading v0.7.4
Compiling rand_chacha v0.3.1
Compiling unicode-width v0.1.11
Compiling tinyvec_macros v0.1.1
Compiling palette v0.7.3
Compiling tinyvec v1.6.0
Compiling wayland-client v0.29.5
Compiling approx v0.5.1
Compiling nix v0.24.3
Compiling indexmap v1.9.3
Compiling fast-srgb8 v1.0.0
Compiling rustix v0.38.28
Compiling fdeflate v0.3.3
Compiling twox-hash v1.6.3
Compiling lock_api v0.4.11
Compiling strict-num v0.1.1
Compiling serde v1.0.193
Compiling parking_lot_core v0.9.9
Compiling linux-raw-sys v0.4.12
Compiling hashbrown v0.12.3
Compiling arrayref v0.3.7
Compiling cfg_aliases v0.1.1
Compiling png v0.17.10
Compiling wayland-protocols v0.29.5
Compiling gethostname v0.2.3
Compiling memoffset v0.7.1
Compiling crossbeam-utils v0.8.18
Compiling unicode-general-category v0.6.0
Compiling khronos-egl v4.1.0
Compiling wayland-commons v0.29.5
Compiling scopeguard v1.2.0
Compiling termcolor v1.4.0
Compiling bit-vec v0.6.3
Compiling ash v0.37.3+1.3.251
Compiling libm v0.2.8
Compiling unicode-bidi v0.3.14
Compiling codespan-reporting v0.11.1
Compiling bit-set v0.5.3
Compiling ring v0.17.7
Compiling spirv v0.2.0+1.5.4
Compiling wayland-sys v0.30.1
Compiling smithay-client-toolkit v0.16.1
Compiling x11-dl v2.21.0
Compiling gpu-descriptor-types v0.1.2
Compiling gpu-alloc-types v0.2.0
Compiling unicode-xid v0.2.4
Compiling xcursor v0.3.5
Compiling io-lifetimes v1.0.11
Compiling ttf-parser v0.19.2
Compiling hexf-parse v0.2.1
Compiling vec_map v0.8.2
Compiling wayland-cursor v0.29.5
Compiling gpu-alloc v0.5.4
Compiling thiserror-impl v1.0.52
Compiling bytemuck_derive v1.5.0
Compiling futures-macro v0.3.30
Compiling tokio-macros v2.2.0
Compiling phf_macros v0.11.2
Compiling palette_derive v0.7.3
Compiling serde_derive v1.0.193
Compiling tokio v1.35.1
Compiling futures-util v0.3.30
Compiling bytemuck v1.14.0
Compiling phf v0.11.2
Compiling displaydoc v0.2.4
Compiling calloop v0.10.6
Compiling naga v0.12.3
Compiling gpu-descriptor v0.2.4
Compiling parking_lot v0.12.1
Compiling futures-executor v0.3.30
Compiling crypto-common v0.1.6
Compiling wayland-backend v0.1.2
Compiling memmap2 v0.5.10
Compiling memmap2 v0.6.2
Compiling wgpu-types v0.16.1
Compiling renderdoc-sys v1.0.0
Compiling zeno v0.2.3
Compiling iced_core v0.10.0
Compiling profiling v1.0.13
Compiling unicode-ccc v0.1.2
Compiling unicode-script v0.5.5
Compiling yazi v0.1.6
Compiling itoa v1.0.10
Compiling glow v0.12.3
Compiling unicode-bidi-mirroring v0.1.0
Compiling rustybuzz v0.8.0
Compiling swash v0.1.8
Compiling fontdb v0.14.1
Compiling futures v0.3.30
Compiling nix v0.26.4
Compiling tinystr v0.7.5
Compiling quick-xml v0.28.2
Compiling euclid v0.22.9
Compiling aho-corasick v1.1.2
Compiling half v2.3.1
Compiling unicode-segmentation v1.10.1
Compiling rangemap v1.4.0
Compiling unicode-linebreak v0.1.5
Compiling percent-encoding v2.3.1
Compiling svg_fmt v0.4.1
Compiling regex-syntax v0.8.2
Compiling sys-locale v0.3.1
Compiling wgpu-hal v0.16.2
Compiling untrusted v0.9.0
Compiling spin v0.9.8
Compiling subtle v2.5.0
Compiling aliasable v0.1.3
Compiling ucd-trie v0.1.6
Compiling glam v0.24.2
Compiling pest v2.7.5
Compiling cosmic-text v0.9.0
Compiling iced_graphics v0.9.0
Compiling wgpu-core v0.16.1
Compiling regex-automata v0.4.3
Compiling wayland-scanner v0.30.1
Compiling unic-langid-impl v0.9.4
Compiling block-buffer v0.10.4
Compiling softbuffer v0.2.1
Compiling x11rb-protocol v0.11.1
Compiling zstd-sys v2.0.9+zstd.1.5.5
Compiling tracing-core v0.1.32
Compiling ttf-parser v0.20.0
Compiling fnv v1.0.7
Compiling http v0.2.11
Compiling pest_meta v2.7.5
Compiling tracing v0.1.40
Compiling owned_ttf_parser v0.20.0
Compiling wayland-client v0.30.2
Compiling digest v0.10.7
Compiling wgpu v0.16.3
Compiling unic-langid v0.9.4
Compiling etagere v0.2.10
Compiling x11rb v0.11.1
Compiling tiny-skia-path v0.10.0
Compiling tiny-skia-path v0.8.4
Compiling lru v0.11.1
Compiling nix v0.22.3
Compiling utf8parse v0.2.1
Compiling equivalent v1.0.1
Compiling cpufeatures v0.2.11
Compiling rustls v0.21.10
Compiling httparse v1.8.0
Compiling either v1.9.0
Compiling ab_glyph_rasterizer v0.1.8
Compiling ab_glyph v0.2.23
Compiling tiny-skia v0.8.4
Compiling indexmap v2.1.0
Compiling anstyle-parse v0.2.3
Compiling glyphon v0.3.0
Compiling tiny-skia v0.10.0
Compiling pest_generator v2.7.5
Compiling tokio-util v0.7.10
Compiling x11rb v0.9.0
Compiling guillotiere v0.6.2
Compiling smithay-clipboard v0.6.6
Compiling iced_futures v0.7.0
Compiling crossbeam-epoch v0.9.17
Compiling winit v0.28.7
Compiling bzip2-sys v0.1.11+1.0.8
Compiling kurbo v0.9.5
Compiling num-integer v0.1.45
Compiling anstyle v1.0.4
Compiling try-lock v0.2.5
Compiling ryu v1.0.16
Compiling rayon-core v1.12.0
Compiling colorchoice v1.0.0
Compiling zstd-safe v5.0.2+zstd.1.5.2
Compiling anstyle-query v1.0.2
Compiling anstream v0.6.5
Compiling iced_tiny_skia v0.1.0
Compiling want v0.3.1
Compiling clipboard_x11 v0.4.0
Compiling crossbeam-deque v0.8.4
Compiling iced_runtime v0.1.1
Compiling clipboard_wayland v0.2.0
Compiling pest_derive v2.7.5
Compiling iced_wgpu v0.11.1
Compiling h2 v0.3.22
Compiling sctk-adwaita v0.5.4
Compiling http-body v0.4.6
Compiling form_urlencoded v1.2.1
Compiling iced_style v0.9.0
Compiling terminal_size v0.3.0
Compiling inout v0.1.3
Compiling unicode-normalization v0.1.22
Compiling type-map v0.4.0
Compiling num-rational v0.4.1
Compiling instant v0.1.12
Compiling httpdate v1.0.3
Compiling heck v0.4.1
Compiling base64ct v1.6.0
Compiling clap_lex v0.6.0
Compiling self_cell v1.0.3
Compiling strsim v0.10.0
Compiling tower-service v0.3.2
Compiling option-ext v0.2.0
Compiling powerfmt v0.2.0
Compiling dirs-sys v0.4.1
Compiling deranged v0.3.10
Compiling clap_builder v4.4.11
Compiling hyper v0.14.28
Compiling self_cell v0.10.3
Compiling password-hash v0.4.2
Compiling clap_derive v4.4.7
Compiling idna v0.5.0
Compiling intl-memoizer v0.5.1
Compiling cipher v0.4.4
Compiling iced_renderer v0.1.0
Compiling keyvalues-parser v0.2.0
Compiling window_clipboard v0.3.0
Compiling sha2 v0.10.8
Compiling fluent-langneg v0.13.0
Compiling intl_pluralrules v7.0.2
Compiling hmac v0.12.1
Compiling bstr v1.8.0
Compiling regex v1.10.2
Compiling fluent-syntax v0.11.0
Compiling console v0.15.7
Compiling dirs-sys-next v0.1.2
Compiling crc-catalog v2.4.0
Compiling serde_json v1.0.108
Compiling iana-time-zone v0.1.58
Compiling base64 v0.21.5
Compiling signal-hook v0.3.17
Compiling cty v0.2.2
Compiling linked-hash-map v0.5.6
Compiling time-core v0.1.2
Compiling fastrand v2.0.1
Compiling home v0.5.9
Compiling byteorder v1.5.0
Compiling yaml-rust v0.4.5
Compiling tempfile v3.8.1
Compiling which v4.4.2
Compiling time v0.3.31
Compiling raw-window-handle v0.4.3
Compiling rustls-pemfile v1.0.4
Compiling chrono v0.4.31
Compiling crc v3.0.1
Compiling dirs-next v2.0.0
Compiling fluent-bundle v0.15.2
Compiling pbkdf2 v0.11.0
Compiling clap v4.4.11
Compiling bzip2 v0.4.4
Compiling iced_winit v0.10.1
Compiling rayon v1.8.0
Compiling keyvalues-serde v0.2.1
Compiling iced_widget v0.1.3
Compiling aes v0.8.3
Compiling url v2.5.0
Compiling dirs v5.0.1
Compiling serde_urlencoded v0.7.1
Compiling sha1 v0.10.6
Compiling async-compression v0.4.5
Compiling crossbeam-channel v0.5.10
Compiling crossbeam-queue v0.3.10
Compiling is-terminal v0.4.9
Compiling signal-hook-registry v1.4.1
Compiling dirs-sys v0.3.7
Compiling thread_local v1.1.7
Compiling encoding_rs v0.8.33
Compiling webpki-roots v0.25.3
Compiling color_quant v1.1.0
Compiling utf8-width v0.1.7
Compiling number_prefix v0.4.0
Compiling glob v0.3.1
Compiling ipnet v2.9.0
Compiling ludusavi v0.22.0
Compiling ascii v1.1.0
Compiling zeroize v1.7.0
Compiling shell-words v1.1.0
Compiling same-file v1.0.6
Compiling nu-ansi-term v0.49.0
Compiling mime v0.3.17
Compiling constant_time_eq v0.1.5
Compiling walkdir v2.4.0
Compiling flexi_logger v0.25.6
Compiling native-dialog v0.6.4
Compiling dialoguer v0.10.4
Compiling indicatif v0.16.2
Compiling image v0.24.7
Compiling byte-unit v4.0.19
Compiling fuzzy-matcher v0.3.7
Compiling dirs v4.0.0
Compiling steamlocate v2.0.0-beta.2
Compiling iced v0.10.0
Compiling fluent v0.16.0
Compiling clap_complete v4.4.4
Compiling serde_yaml v0.8.26
Compiling globset v0.4.14
Compiling opener v0.6.1
Compiling itertools v0.10.5
Compiling filetime v0.2.23
Compiling shlex v1.2.0
Compiling base64 v0.13.1
Compiling whoami v1.4.1
Compiling globetter v0.1.1
Compiling rustls-webpki v0.101.7
Compiling sct v0.7.1
Compiling tokio-rustls v0.24.1
Compiling hyper-rustls v0.24.2
Compiling reqwest v0.11.23
Compiling zstd v0.11.2+zstd.1.5.2
Compiling zip v0.6.6
error[E0308]: mismatched types
--> /home/tokariew/.local/share/cargo/registry/src/index.crates.io-6f17d22bba15001f/ludusavi-0.22.0/src/resource/config.rs:1021:13
|
1020 | let detected_steam = match steamlocate::SteamDir::locate() {
| ------------------------------- this expression has type Result<SteamDir, steamlocate::Error>
1021 | Some(mut steam_dir) => steam_dir
| ^^^^^^^^^^^^^^^^^^^ expected Result<SteamDir, Error>, found Option<_>
|
= note: expected enum Result<SteamDir, steamlocate::Error>
found enum std::option::Option<_>

error[E0308]: mismatched types
--> /home/tokariew/.local/share/cargo/registry/src/index.crates.io-6f17d22bba15001f/ludusavi-0.22.0/src/resource/config.rs:1033:13
|
1020 | let detected_steam = match steamlocate::SteamDir::locate() {
| ------------------------------- this expression has type Result<SteamDir, steamlocate::Error>
...
1033 | None => vec![],
| ^^^^ expected Result<SteamDir, Error>, found Option<_>
|
= note: expected enum Result<SteamDir, steamlocate::Error>
found enum std::option::Option<_>

error[E0308]: mismatched types
--> /home/tokariew/.local/share/cargo/registry/src/index.crates.io-6f17d22bba15001f/ludusavi-0.22.0/src/scan/steam.rs:19:13
|
18 | let mut steam = match steamlocate::SteamDir::locate() {
| ------------------------------- this expression has type Result<SteamDir, steamlocate::Error>
19 | Some(x) => x,
| ^^^^^^^ expected Result<SteamDir, Error>, found Option<_>
|
= note: expected enum Result<SteamDir, steamlocate::Error>
found enum std::option::Option<_>

error[E0308]: mismatched types
--> /home/tokariew/.local/share/cargo/registry/src/index.crates.io-6f17d22bba15001f/ludusavi-0.22.0/src/scan/steam.rs:20:13
|
18 | let mut steam = match steamlocate::SteamDir::locate() {
| ------------------------------- this expression has type Result<SteamDir, steamlocate::Error>
19 | Some(x) => x,
20 | None => return instance,
| ^^^^ expected Result<SteamDir, Error>, found Option<_>
|
= note: expected enum Result<SteamDir, steamlocate::Error>
found enum std::option::Option<_>

For more information about this error, try rustc --explain E0308.
error: could not compile ludusavi (bin "ludusavi") due to 4 previous errors
error: failed to compile ludusavi v0.22.0, intermediate artifacts can be found at /tmp/cargo-installvW0h3R.
To reuse those artifacts with a future compilation, set the environment variable CARGO_TARGET_DIR to that path.


version of rust:

➜ rustc --version
rustc 1.74.1 (a28077b28 2023-12-04) (Fedora 1.74.1-1.fc39)

Hi! Could you try cargo install --locked ludusavi ? It looks like it's trying to install a newer version of a dependency with some incompatible changes.

yes, it work with locked option.

Great! I've updated the README to add the --locked option in the instructions.