geiger-rs / cargo-geiger

Detects usage of unsafe Rust in a Rust crate and its dependencies.
https://crates.io/crates/cargo-geiger
1.4k stars 65 forks source link

Compile error when building from Git #520

Open clin1234 opened 4 months ago

clin1234 commented 4 months ago

Running cargo install --locked --git https://github.com/geiger-rs/cargo-geiger cargo-geiger yielded the following:

    Updating git repository `https://github.com/geiger-rs/cargo-geiger`
warning: skipping duplicate package `member1` found at `C:\Users\ךינשגכהד\.cargo\git\checkouts\cargo-geiger-761805cbc2b41bbc\e2ddd16\test_crates\test5_workspace_with_virtual_manifest\member1`
  Installing cargo-geiger v0.11.7 (https://github.com/geiger-rs/cargo-geiger#e2ddd161)
    Updating crates.io index
  Downloaded clap v4.4.11
  Downloaded base64 v0.21.5
  Downloaded anyhow v1.0.75
  Downloaded anstream v0.6.5
  Downloaded windows-targets v0.52.0
  Downloaded jobserver v0.1.27
  Downloaded time-macros v0.2.15
  Downloaded serde_derive v1.0.193
  Downloaded serde v1.0.193
  Downloaded winnow v0.5.28
  Downloaded syn v2.0.40
  Downloaded serde-untagged v0.1.2
  Downloaded gix-validate v0.8.1
  Downloaded windows_x86_64_msvc v0.52.0
  Downloaded libnghttp2-sys v0.1.8+1.55.1
  Downloaded libc v0.2.151
  Downloaded gix-utils v0.1.6
  Downloaded gix-sec v0.10.1
  Downloaded libgit2-sys v0.16.1+1.7.1
  Downloaded gix-quote v0.4.8
  Downloaded gix-path v0.10.1
  Downloaded gix-date v0.8.1
  Downloaded gix-config-value v0.14.1
  Downloaded gix-chunk v0.4.5
  Downloaded libz-sys v1.1.12
  Downloaded fiat-crypto v0.2.5
  Downloaded crates-io v0.39.0
  Downloaded cargo-util v0.2.7
  Downloaded pasetors v0.6.7
  Downloaded http-auth v0.1.8
  Downloaded gix-trace v0.1.4
  Downloaded curl-sys v0.4.70+curl-8.5.0
  Downloaded gix-macros v0.1.1
  Downloaded gix-bitmap v0.2.8
  Downloaded git2 v0.18.1
  Downloaded cargo-credential-libsecret v0.4.0
  Downloaded time v0.3.30
  Downloaded rayon v1.8.0
  Downloaded pulldown-cmark v0.9.3
  Downloaded hkdf v0.12.3
  Downloaded clap_builder v4.4.11
  Downloaded cargo-platform v0.1.5
  Downloaded cargo-credential-wincred v0.4.0
  Downloaded cargo-credential-macos-keychain v0.4.0
  Downloaded cargo-credential v0.4.1
  Downloaded bstr v1.8.0
  Downloaded rayon-core v1.12.0
  Downloaded curl v0.4.44
  Downloaded crossbeam-channel v0.5.8
  Downloaded semver v1.0.20
  Downloaded schannel v0.1.22
  Downloaded libloading v0.8.1
  Downloaded ed25519-compact v2.0.4
  Downloaded crossbeam-epoch v0.9.15
  Downloaded const-oid v0.9.5
  Downloaded thread_local v1.1.7
  Downloaded thiserror-impl v1.0.50
  Downloaded serde_spanned v0.6.4
  Downloaded quote v1.0.33
  Downloaded pkg-config v0.3.27
  Downloaded normpath v1.1.1
  Downloaded maybe-async v0.2.7
  Downloaded ignore v0.4.21
  Downloaded color-print v0.3.5
  Downloaded thiserror v1.0.50
  Downloaded tempfile v3.8.1
  Downloaded serde_ignored v0.1.9
  Downloaded erased-serde v0.4.0
  Downloaded crossbeam-utils v0.8.16
  Downloaded crossbeam-deque v0.8.3
  Downloaded console v0.15.7
  Downloaded color-print-proc-macro v0.3.5
  Downloaded 72 crates (14.6 MB) in 28.22s (largest was `curl-sys` at 3.3 MB)
   Compiling proc-macro2 v1.0.78
   Compiling unicode-ident v1.0.12
   Compiling serde v1.0.193
   Compiling cfg-if v1.0.0
   Compiling windows_x86_64_msvc v0.48.5
   Compiling jobserver v0.1.27
   Compiling autocfg v1.1.0
   Compiling libc v0.2.151
   Compiling thiserror v1.0.50
   Compiling pkg-config v0.3.27
   Compiling vcpkg v0.2.15
   Compiling memchr v2.6.4
   Compiling winapi v0.3.9
   Compiling regex-syntax v0.8.2
   Compiling scopeguard v1.2.0
   Compiling once_cell v1.19.0
   Compiling crossbeam-utils v0.8.16
   Compiling smallvec v1.11.2
   Compiling crc32fast v1.3.2
   Compiling parking_lot_core v0.9.9
   Compiling gix-trace v0.1.4
   Compiling adler v1.0.2
   Compiling itoa v1.0.10
   Compiling sha1_smol v1.0.0
   Compiling bytes v1.5.0
   Compiling miniz_oxide v0.7.1
   Compiling powerfmt v0.2.0
   Compiling version_check v0.9.4
   Compiling cc v1.0.83
   Compiling lock_api v0.4.11
   Compiling num-traits v0.2.17
   Compiling time-core v0.1.2
   Compiling windows_x86_64_msvc v0.52.0
   Compiling typenum v1.17.0
   Compiling zeroize v1.7.0
   Compiling bitflags v2.4.1
   Compiling aho-corasick v1.1.2
   Compiling winnow v0.5.28
   Compiling generic-array v0.14.7
   Compiling subtle v2.5.0
   Compiling time-macros v0.2.15
   Compiling const-oid v0.9.5
   Compiling libz-sys v1.1.12
   Compiling windows-targets v0.48.5
   Compiling hashbrown v0.14.3
   Compiling getrandom v0.2.11
   Compiling memmap2 v0.7.1
   Compiling tinyvec_macros v0.1.1
   Compiling fastrand v2.0.1
   Compiling crossbeam-channel v0.5.8
   Compiling windows-sys v0.48.0
   Compiling quote v1.0.33
   Compiling unicode-bidi v0.3.14
   Compiling percent-encoding v2.3.1
   Compiling rand_core v0.6.4
   Compiling libnghttp2-sys v0.1.8+1.55.1
   Compiling tinyvec v1.6.0
   Compiling serde_json v1.0.108
   Compiling syn v1.0.109
   Compiling ryu v1.0.16
   Compiling curl-sys v0.4.70+curl-8.5.0
   Compiling base64ct v1.6.0
   Compiling parking_lot v0.12.1
   Compiling unicode-normalization v0.1.22
   Compiling windows-targets v0.52.0
   Compiling form_urlencoded v1.2.1
   Compiling pem-rfc7468 v0.7.0
   Compiling syn v2.0.40
   Compiling gix-utils v0.1.6
   Compiling windows-sys v0.52.0
   Compiling windows v0.48.0
   Compiling unicode-bom v2.0.3
   Compiling log v0.4.20
   Compiling anyhow v1.0.75
   Compiling libssh2-sys v0.3.0
   Compiling memoffset v0.9.0
   Compiling der v0.7.8
   Compiling semver v1.0.20
   Compiling prodash v26.2.2
   Compiling curl v0.4.44
   Compiling btoi v0.4.3
   Compiling idna v0.5.0
   Compiling ff v0.13.0
   Compiling winapi-util v0.1.6
   Compiling socket2 v0.4.10
   Compiling regex-automata v0.4.3
   Compiling crossbeam-epoch v0.9.15
   Compiling block-buffer v0.10.4
   Compiling crypto-common v0.1.6
   Compiling byteyarn v0.2.3
   Compiling base16ct v0.2.0
   Compiling group v0.13.0
   Compiling crypto-bigint v0.5.5
   Compiling same-file v1.0.6
   Compiling libgit2-sys v0.16.1+1.7.1
   Compiling digest v0.10.7
   Compiling equivalent v1.0.1
   Compiling filetime v0.2.23
   Compiling walkdir v2.4.0
   Compiling cpufeatures v0.2.11
   Compiling indexmap v2.1.0
   Compiling tracing-core v0.1.32
   Compiling hmac v0.12.1
   Compiling camino v1.1.6
   Compiling windows_x86_64_msvc v0.42.2
   Compiling anstyle v1.0.4
   Compiling utf8parse v0.2.1
   Compiling lazy_static v1.4.0
   Compiling sha2 v0.10.8
   Compiling hkdf v0.12.3
   Compiling anstyle-parse v0.2.3
   Compiling rfc6979 v0.4.0
   Compiling signature v2.2.0
   Compiling crossbeam-deque v0.8.3
   Compiling anstyle-query v1.0.2
   Compiling spki v0.7.3
   Compiling anstyle-wincon v3.0.2
   Compiling unicase v2.7.0
   Compiling colorchoice v1.0.0
   Compiling clru v0.6.1
   Compiling base64 v0.21.5
   Compiling minimal-lexical v0.2.1
   Compiling regex-syntax v0.6.29
   Compiling pin-project-lite v0.2.13
   Compiling pkcs8 v0.10.2
   Compiling bitmaps v2.1.0
   Compiling im-rc v15.1.0
   Compiling anstream v0.6.5
   Compiling encoding_rs v0.8.33
   Compiling regex-automata v0.1.10
   Compiling pulldown-cmark v0.9.3
   Compiling rustversion v1.0.14
   Compiling strsim v0.10.0
   Compiling dunce v1.0.4
   Compiling fiat-crypto v0.2.5
   Compiling ppv-lite86 v0.2.17
   Compiling either v1.9.0
   Compiling nom v7.1.3
   Compiling arc-swap v1.6.0
   Compiling rayon-core v1.12.0
   Compiling overload v0.1.1
   Compiling clap_lex v0.6.0
   Compiling rand_chacha v0.3.1
   Compiling sec1 v0.7.3
   Compiling sized-chunks v0.6.5
   Compiling tar v0.4.40
   Compiling matchers v0.1.0
   Compiling nu-ansi-term v0.46.0
   Compiling windows-targets v0.42.2
   Compiling serde_derive v1.0.193
   Compiling thiserror-impl v1.0.50
   Compiling tracing-attributes v0.1.27
   Compiling gix-macros v0.1.1
   Compiling maybe-async v0.2.7
   Compiling sharded-slab v0.1.7
   Compiling tracing-log v0.2.0
   Compiling ordered-float v2.10.1
   Compiling rand_xoshiro v0.6.0
   Compiling home v0.5.5
   Compiling tempfile v3.8.1
   Compiling schannel v0.1.22
   Compiling elliptic-curve v0.13.8
   Compiling terminal_size v0.3.0
   Compiling normpath v1.1.1
   Compiling color-print-proc-macro v0.3.5
   Compiling libloading v0.8.1
   Compiling tracing v0.1.40
   Compiling miow v0.6.0
   Compiling ed25519-compact v2.0.4
   Compiling thread_local v1.1.7
   Compiling clap_builder v4.4.11
   Compiling gix-chunk v0.4.5
   Compiling gix-bitmap v0.2.8
   Compiling unicode-width v0.1.11
   Compiling ct-codecs v1.1.1
   Compiling bitflags v1.3.2
   Compiling fixedbitset v0.4.2
   Compiling ecdsa v0.16.9
   Compiling primeorder v0.13.6
   Compiling shell-escape v0.1.5
   Compiling hex v0.4.3
   Compiling opener v0.6.1
   Compiling petgraph v0.6.4
   Compiling color-print v0.3.5
   Compiling rand v0.8.5
   Compiling windows-sys v0.45.0
   Compiling itertools v0.10.5
   Compiling orion v0.17.6
   Compiling sha1 v0.10.6
   Compiling http-auth v0.1.8
   Compiling bstr v1.8.0
   Compiling regex v1.10.2
   Compiling p384 v0.13.0
   Compiling cargo-util v0.2.7
   Compiling cfg-expr v0.10.3
   Compiling humantime v2.1.0
   Compiling encode_unicode v0.3.6
   Compiling bytesize v1.3.0
   Compiling heck v0.4.1
   Compiling pathdiff v0.2.1
   Compiling unicode-xid v0.2.4
   Compiling glob v0.3.1
   Compiling lazycell v1.3.0
   Compiling tracing-subscriber v0.3.18
   Compiling gix-path v0.10.1
   Compiling faster-hex v0.9.0
   Compiling deranged v0.3.10
   Compiling gix-validate v0.8.1
   Compiling url v2.5.0
   Compiling gix-quote v0.4.8
   Compiling faster-hex v0.8.1
   Compiling gix-command v0.2.10
   Compiling cargo-platform v0.1.5
   Compiling serde_spanned v0.6.4
   Compiling toml_datetime v0.6.5
   Compiling erased-serde v0.4.0
   Compiling globset v0.4.14
   Compiling serde_ignored v0.1.9
   Compiling os_info v3.7.0
   Compiling serde-value v0.7.0
   Compiling gix-hash v0.13.3
   Compiling gix-config-value v0.14.1
   Compiling gix-sec v0.10.1
   Compiling gix-packetline v0.16.7
   Compiling gix-packetline-blocking v0.16.6
   Compiling toml_edit v0.19.15
   Compiling strum_macros v0.24.3
   Compiling console v0.15.7
   Compiling time v0.3.30
   Compiling rayon v1.8.0
   Compiling serde-untagged v0.1.2
   Compiling cargo-geiger-serde v0.2.5 (C:\Users\ךינשגכהד\.cargo\git\checkouts\cargo-geiger-761805cbc2b41bbc\e2ddd16\cargo-geiger-serde)
   Compiling colored v2.1.0
   Compiling ignore v0.4.21
   Compiling rustfix v0.6.1
   Compiling cargo_metadata v0.15.4
   Compiling cargo_metadata v0.18.1
   Compiling gix-hashtable v0.4.1
   Compiling pico-args v0.5.0
   Compiling clap v4.4.11
   Compiling gix-prompt v0.7.0
   Compiling strum v0.24.1
   Compiling krates v0.11.0
   Compiling flate2 v1.0.28
   Compiling gix-date v0.8.1
   Compiling cargo-credential v0.4.1
   Compiling pasetors v0.6.7
   Compiling cargo v0.75.1
   Compiling gix-features v0.35.0
   Compiling gix-actor v0.27.0
   Compiling git2 v0.18.1
   Compiling toml v0.7.8
   Compiling gix-object v0.37.0
   Compiling gix-fs v0.7.0
   Compiling gix-commitgraph v0.21.0
   Compiling gix-glob v0.13.0
   Compiling gix-url v0.24.0
   Compiling cargo-credential-libsecret v0.4.0
   Compiling cargo-credential-wincred v0.4.0
   Compiling cargo-credential-macos-keychain v0.4.0
   Compiling crates-io v0.39.0
   Compiling geiger v0.4.12 (C:\Users\ךינשגכהד\.cargo\git\checkouts\cargo-geiger-761805cbc2b41bbc\e2ddd16\geiger)
   Compiling gix-tempfile v10.0.0
   Compiling gix-credentials v0.20.0
   Compiling gix-attributes v0.19.0
   Compiling gix-ignore v0.8.0
   Compiling gix-lock v10.0.0
   Compiling gix-transport v0.37.0
   Compiling gix-revwalk v0.8.0
   Compiling gix-pack v0.43.0
   Compiling gix-diff v0.36.0
   Compiling gix-ref v0.37.0
   Compiling gix-pathspec v0.3.0
   Compiling gix-filter v0.5.0
   Compiling gix-revision v0.22.0
   Compiling gix-traverse v0.33.0
   Compiling gix-negotiate v0.8.0
   Compiling gix-index v0.25.0
   Compiling gix-refspec v0.18.0
   Compiling gix-protocol v0.40.0
   Compiling git2-curl v0.19.0
   Compiling gix-config v0.30.0
   Compiling gix-discover v0.25.0
   Compiling gix-worktree v0.26.0
   Compiling gix-odb v0.53.0
   Compiling gix-submodule v0.4.0
   Compiling gix v0.54.1
   Compiling cargo-geiger v0.11.7 (C:\Users\ךינשגכהד\.cargo\git\checkouts\cargo-geiger-761805cbc2b41bbc\e2ddd16\cargo-geiger)
error[E0308]: mismatched types
   --> cargo-geiger\src\cli.rs:80:30
    |
80  |         .build_with_metadata(cargo_metadata.clone(), |_| ())?)
    |          ------------------- ^^^^^^^^^^^^^^^^^^^^^^ expected `Metadata`, found a different `Metadata`
    |          |
    |          arguments to this method are incorrect
    |
    = note: `Metadata` and `Metadata` have similar names, but are actually distinct types
note: `Metadata` is defined in crate `cargo_metadata`
   --> C:\Users\ךינשגכהד\.cargo\registry\src\index.crates.io-6f17d22bba15001f\cargo_metadata-0.18.1\src\lib.rs:153:1
    |
153 | pub struct Metadata {
    | ^^^^^^^^^^^^^^^^^^^
note: `Metadata` is defined in crate `cargo_metadata`
   --> C:\Users\ךינשגכהד\.cargo\registry\src\index.crates.io-6f17d22bba15001f\cargo_metadata-0.15.4\src\lib.rs:159:1
    |
159 | pub struct Metadata {
    | ^^^^^^^^^^^^^^^^^^^
    = note: perhaps two different versions of crate `cargo_metadata` are being used?
note: method defined here
   --> C:\Users\ךינשגכהד\.cargo\registry\src\index.crates.io-6f17d22bba15001f\krates-0.11.0\src\builder.rs:572:12
    |
572 |     pub fn build_with_metadata<N, E, F>(
    |            ^^^^^^^^^^^^^^^^^^^

error[E0308]: mismatched types
   --> cargo-geiger\src\graph.rs:111:55
    |
111 |         cargo_metadata_parameters.krates.node_for_kid(&package_id);
    |                                          ------------ ^^^^^^^^^^^ expected `PackageId`, found a different `PackageId`
    |                                          |
    |                                          arguments to this method are incorrect
    |
    = note: `PackageId` and `PackageId` have similar names, but are actually distinct types
note: `PackageId` is defined in crate `cargo_metadata`
   --> C:\Users\ךינשגכהד\.cargo\registry\src\index.crates.io-6f17d22bba15001f\cargo_metadata-0.18.1\src\lib.rs:132:1
    |
132 | pub struct PackageId {
    | ^^^^^^^^^^^^^^^^^^^^
note: `PackageId` is defined in crate `cargo_metadata`
   --> C:\Users\ךינשגכהד\.cargo\registry\src\index.crates.io-6f17d22bba15001f\cargo_metadata-0.15.4\src\lib.rs:126:1
    |
126 | pub struct PackageId {
    | ^^^^^^^^^^^^^^^^^^^^
    = note: perhaps two different versions of crate `cargo_metadata` are being used?
note: method defined here
   --> C:\Users\ךינשגכהד\.cargo\registry\src\index.crates.io-6f17d22bba15001f\krates-0.11.0\src\lib.rs:309:12
    |
309 |     pub fn node_for_kid(&self, kid: &Kid) -> Option<&Node<N>> {
    |            ^^^^^^^^^^^^

error[E0308]: mismatched types
   --> cargo-geiger\src\graph.rs:126:21
    |
122 |                 let dependency_iterator = filter_dependencies(
    |                                           ------------------- arguments to this function are incorrect
...
126 |                     &package,
    |                     ^^^^^^^^ expected `Package`, found a different `Package`
    |
    = note: `Package` and `Package` have similar names, but are actually distinct types
note: `Package` is defined in crate `cargo_metadata`
   --> C:\Users\ךינשגכהד\.cargo\registry\src\index.crates.io-6f17d22bba15001f\cargo_metadata-0.15.4\src\lib.rs:301:1
    |
301 | pub struct Package {
    | ^^^^^^^^^^^^^^^^^^
note: `Package` is defined in crate `cargo_metadata`
   --> C:\Users\ךינשגכהד\.cargo\registry\src\index.crates.io-6f17d22bba15001f\cargo_metadata-0.18.1\src\lib.rs:347:1
    |
347 | pub struct Package {
    | ^^^^^^^^^^^^^^^^^^
    = note: perhaps two different versions of crate `cargo_metadata` are being used?
note: function defined here
   --> cargo-geiger\src\graph.rs:170:4
    |
170 | fn filter_dependencies<'a>(
    |    ^^^^^^^^^^^^^^^^^^^
...
174 |     package: &'a Package,
    |     --------------------

error[E0308]: mismatched types
   --> cargo-geiger\src\mapping\krates.rs:20:27
    |
20  |         self.node_for_kid(package_id)
    |              ------------ ^^^^^^^^^^ expected `PackageId`, found a different `PackageId`
    |              |
    |              arguments to this method are incorrect
    |
    = note: `PackageId` and `PackageId` have similar names, but are actually distinct types
note: `PackageId` is defined in crate `cargo_metadata`
   --> C:\Users\ךינשגכהד\.cargo\registry\src\index.crates.io-6f17d22bba15001f\cargo_metadata-0.18.1\src\lib.rs:132:1
    |
132 | pub struct PackageId {
    | ^^^^^^^^^^^^^^^^^^^^
note: `PackageId` is defined in crate `cargo_metadata`
   --> C:\Users\ךינשגכהד\.cargo\registry\src\index.crates.io-6f17d22bba15001f\cargo_metadata-0.15.4\src\lib.rs:126:1
    |
126 | pub struct PackageId {
    | ^^^^^^^^^^^^^^^^^^^^
    = note: perhaps two different versions of crate `cargo_metadata` are being used?
note: method defined here
   --> C:\Users\ךינשגכהד\.cargo\registry\src\index.crates.io-6f17d22bba15001f\krates-0.11.0\src\lib.rs:309:12
    |
309 |     pub fn node_for_kid(&self, kid: &Kid) -> Option<&Node<N>> {
    |            ^^^^^^^^^^^^

error[E0308]: mismatched types
   --> cargo-geiger\src\mapping\krates.rs:20:9
    |
19  |     ) -> Option<&Node<Package>> {
    |          ---------------------- expected `Option<&krates::Node<cargo_metadata::Package>>` because of return type
20  |         self.node_for_kid(package_id)
    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Package`, found a different `Package`
    |
    = note: `Package` and `Package` have similar names, but are actually distinct types
note: `Package` is defined in crate `cargo_metadata`
   --> C:\Users\ךינשגכהד\.cargo\registry\src\index.crates.io-6f17d22bba15001f\cargo_metadata-0.15.4\src\lib.rs:301:1
    |
301 | pub struct Package {
    | ^^^^^^^^^^^^^^^^^^
note: `Package` is defined in crate `cargo_metadata`
   --> C:\Users\ךינשגכהד\.cargo\registry\src\index.crates.io-6f17d22bba15001f\cargo_metadata-0.18.1\src\lib.rs:347:1
    |
347 | pub struct Package {
    | ^^^^^^^^^^^^^^^^^^
    = note: perhaps two different versions of crate `cargo_metadata` are being used?

error[E0277]: a value of type `Vec<cargo_metadata::PackageId>` cannot be built from an iterator over elements of type `krates::cargo_metadata::PackageId`
  --> cargo-geiger\src\mapping\krates.rs:31:28
   |
31 |                 .collect::<Vec<CargoMetadataPackageId>>()
   |                  -------   ^^^^^^^^^^^^^^^^^^^^^^^^^^^ value of type `Vec<cargo_metadata::PackageId>` cannot be built from `std::iter::Iterator<Item=krates::cargo_metadata::PackageId>`
   |                  |
   |                  required by a bound introduced by this call
   |
   = help: the trait `FromIterator<krates::cargo_metadata::PackageId>` is not implemented for `Vec<cargo_metadata::PackageId>`
   = help: the following other types implement trait `FromIterator<A>`:
             <Vec<T> as FromIterator<T>>
             <Vec<u16> as FromIterator<&'a encode_unicode::utf16_char::Utf16Char>>
             <Vec<u16> as FromIterator<encode_unicode::utf16_char::Utf16Char>>
             <Vec<u8> as FromIterator<&'a encode_unicode::utf8_char::Utf8Char>>
             <Vec<u8> as FromIterator<encode_unicode::utf8_char::Utf8Char>>
note: the method call chain might not have had the expected associated types
  --> cargo-geiger\src\mapping\krates.rs:30:18
   |
27 |             Ok(package_spec) => self
   |                                 ---- this expression has type `&Krates`
28 |                 .krates_by_name(package_spec.name.as_str())
   |                  ------------------------------------------ `Iterator::Item` is `(NodeIndex, &Node<Package>)` here
29 |                 .filter(|(_, node)| package_spec.matches(&node.krate))
   |                  ----------------------------------------------------- `Iterator::Item` remains `(NodeIndex, &Node<Package>)` here
30 |                 .map(|(_, node)| node.krate.clone().id)
   |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Iterator::Item` changed to `PackageId` here
note: required by a bound in `std::iter::Iterator::collect`
  --> /rustc/faefc618cf48bd794cbc808448df1bf3f59f36af\library\core\src\iter\traits\iterator.rs:2001:5

Some errors have detailed explanations: E0277, E0308.
For more information about an error, try `rustc --explain E0277`.
error: could not compile `cargo-geiger` (lib) due to 6 previous errors
error: failed to compile `cargo-geiger v0.11.7 (https://github.com/geiger-rs/cargo-geiger#e2ddd161)`, intermediate artifacts can be found at `C:\Users\0BAC~1\AppData\Local\Temp\cargo-installbAfrff`.
To reuse those artifacts with a future compilation, set the environment variable `CARGO_TARGET_DIR` to that path.
pinkforest commented 4 months ago

Please use the released version from crates.io - thanks for reporting - it seems there is broken dep pairing

Need to fix the krates/cargo-metadata dependency pairing error in main that somehow slid in.

clin1234 commented 1 month ago

Now building from Git with --locked yielded this error:

error[E0282]: type annotations needed for `Box<_>`
  --> C:\Users\ךינשגכהד\.cargo\registry\src\index.crates.io-6f17d22bba15001f\time-0.3.30\src\format_description\parse\mod.rs:83:9
   |
83 |     let items = format_items
   |         ^^^^^
...
86 |     Ok(items.into())
   |              ---- type must be known at this point
   |
help: consider giving `items` an explicit type, where the placeholders `_` are specified
   |
83 |     let items: Box<_> = format_items
   |              ++++++++

For more information about this error, try `rustc --explain E0282`.
error: could not compile `time` (lib) due to 1 previous error
warning: build failed, waiting for other jobs to finish...
error: failed to compile `cargo-geiger v0.11.7 (https://github.com/geiger-rs/cargo-geiger#e2ddd161)`, intermediate artifacts can be found at `C:\Users\0BAC~1\AppData\Local\Temp\cargo-installbdB2Jp`.
To reuse those artifacts with a future compilation, set the environment variable `CARGO_TARGET_DIR` to that path.
Anders429 commented 1 month ago

I receive that same error when attempting to build from the version on cargo with --locked.

> cargo install --locked cargo-geiger

[...]

error[E0282]: type annotations needed for `Box<_>`
  --> C:\Users\ander\.cargo\registry\src\index.crates.io-6f17d22bba15001f\time-0.3.30\src\format_description\parse\mod.rs:83:9
   |
83 |     let items = format_items
   |         ^^^^^
...
86 |     Ok(items.into())
   |              ---- type must be known at this point
   |
help: consider giving `items` an explicit type, where the placeholders `_` are specified
   |
83 |     let items: Box<_> = format_items
   |              ++++++++
pinkforest commented 1 month ago

These latest two are different errors and are related on new compiler versions breaking time dependency.

time issue:

Please use 1.79 until we get the dependency mess fixed

rustup default 1.79