kbknapp / cargo-outdated

A cargo subcommand for displaying when Rust dependencies are out of date
MIT License
1.22k stars 96 forks source link

Cannot build cargo-outdated with latest nightly rust release #385

Open mikemadden42 opened 8 months ago

mikemadden42 commented 8 months ago

I cannot build cargo-outdated with latest nightly rust release. It looks like the stdsimd feature is missing.

$ lsb_release -sir
Ubuntu
22.04

$ arch
x86_64

$ cat rust-toolchain.toml
[toolchain]
channel = "nightly"
profile = "default"
components = ["rust-src", "rustfmt", "clippy", "rust-analyzer"]
$ cargo build
   Compiling curl-sys v0.4.68+curl-8.4.0
   Compiling libnghttp2-sys v0.1.8+1.55.1
   Compiling ahash v0.8.6
   Compiling gix-command v0.2.10
   Compiling libz-sys v1.1.12
error[E0635]: unknown feature `stdsimd`
  --> /home/hulk/.cargo/registry/src/index.crates.io-6f17d22bba15001f/ahash-0.8.6/src/lib.rs:99:42
   |
99 | #![cfg_attr(feature = "stdsimd", feature(stdsimd))]
   |                                          ^^^^^^^

   Compiling libgit2-sys v0.15.2+1.6.4
   Compiling serde_json v1.0.108
For more information about this error, try `rustc --explain E0635`.
error: could not compile `ahash` (lib) due to 1 previous error
warning: build failed, waiting for other jobs to finish...
mikemadden42 commented 8 months ago

This is likely related to this post. https://users.rust-lang.org/t/error-e0635-unknown-feature-stdsimd/106445

mikemadden42 commented 8 months ago

Running cargo update fixed the build issue for me.

I suspect the outdated ahash crate is the root of the issue.

    Updating ahash v0.8.6 -> v0.8.9
$ cargo update --dry-run
    Updating crates.io index
    Updating ahash v0.8.6 -> v0.8.9
    Updating anstream v0.6.4 -> v0.6.12
    Updating anstyle v1.0.4 -> v1.0.6
    Updating anstyle-parse v0.2.2 -> v0.2.3
    Updating anstyle-query v1.0.0 -> v1.0.2
    Updating anstyle-wincon v3.0.1 -> v3.0.2
    Updating anyhow v1.0.75 -> v1.0.80
    Updating base64 v0.21.5 -> v0.21.7
    Updating bitflags v2.4.1 -> v2.4.2
    Updating bstr v1.7.0 -> v1.9.0
    Updating bumpalo v3.14.0 -> v3.15.3
    Updating cargo-platform v0.1.4 -> v0.1.7
    Updating cargo-util v0.2.6 -> v0.2.9
    Updating cc v1.0.83 -> v1.0.87
    Updating clap v4.4.7 -> v4.5.1
    Updating clap_builder v4.4.7 -> v4.5.1
    Updating clap_derive v4.4.7 -> v4.5.0
    Updating clap_lex v0.6.0 -> v0.7.0
    Updating const-oid v0.9.5 -> v0.9.6
    Updating core-foundation v0.9.3 -> v0.9.4
    Updating core-foundation-sys v0.8.4 -> v0.8.6
    Updating cpufeatures v0.2.11 -> v0.2.12
    Updating crc32fast v1.3.2 -> v1.4.0
    Updating crossbeam-channel v0.5.8 -> v0.5.11
      Adding crossbeam-deque v0.8.5
      Adding crossbeam-epoch v0.9.18
    Updating crossbeam-utils v0.8.16 -> v0.8.19
    Updating crypto-bigint v0.5.3 -> v0.5.5
    Updating curl v0.4.44 -> v0.4.46
    Updating curl-sys v0.4.68+curl-8.4.0 -> v0.4.72+curl-8.6.0
    Updating deranged v0.3.9 -> v0.3.11
    Updating ecdsa v0.16.8 -> v0.16.9
    Updating ed25519-compact v2.0.4 -> v2.1.1
    Updating either v1.9.0 -> v1.10.0
    Updating elliptic-curve v0.13.6 -> v0.13.8
    Updating env_logger v0.10.0 -> v0.10.2 (latest: v0.11.2)
    Updating errno v0.3.5 -> v0.3.8
    Updating fiat-crypto v0.2.2 -> v0.2.6
    Updating filetime v0.2.22 -> v0.2.23
    Removing fnv v1.0.7
    Updating form_urlencoded v1.2.0 -> v1.2.1
    Updating getrandom v0.2.10 -> v0.2.12
    Updating gix-bitmap v0.2.7 -> v0.2.10
    Updating gix-chunk v0.4.4 -> v0.4.7
    Updating gix-quote v0.4.7 -> v0.4.10
    Updating gix-trace v0.1.3 -> v0.1.7
    Updating gix-utils v0.1.5 -> v0.1.9
    Updating globset v0.4.13 -> v0.4.14
    Updating hashbrown v0.14.2 -> v0.14.3
    Updating hermit-abi v0.3.3 -> v0.3.7
    Updating hkdf v0.12.3 -> v0.12.4
    Updating home v0.5.5 -> v0.5.9
    Updating http-auth v0.1.8 -> v0.1.9
    Updating idna v0.4.0 -> v0.5.0
    Updating ignore v0.4.20 -> v0.4.22
    Updating indexmap v2.1.0 -> v2.2.3
    Updating is-terminal v0.4.9 -> v0.4.12
    Updating itoa v1.0.9 -> v1.0.10
    Updating jobserver v0.1.27 -> v0.1.28
    Updating js-sys v0.3.65 -> v0.3.68
    Updating libc v0.2.149 -> v0.2.153
    Updating libnghttp2-sys v0.1.8+1.55.1 -> v0.1.9+1.58.0
    Updating libz-sys v1.1.12 -> v1.1.15
    Updating linux-raw-sys v0.4.10 -> v0.4.13 (latest: v0.6.4)
    Updating maybe-async v0.2.7 -> v0.2.10
    Updating memchr v2.6.4 -> v2.7.1
    Updating miniz_oxide v0.7.1 -> v0.7.2
      Adding num-conv v0.1.0
    Updating num-traits v0.2.17 -> v0.2.18
    Updating num_threads v0.1.6 -> v0.1.7
    Updating once_cell v1.18.0 -> v1.19.0
    Updating openssl v0.10.58 -> v0.10.64
    Updating openssl-src v300.1.6+3.1.4 -> v300.2.3+3.2.1
    Updating openssl-sys v0.9.94 -> v0.9.101
    Updating pasetors v0.6.7 -> v0.6.8
    Updating percent-encoding v2.3.0 -> v2.3.1
    Updating pkg-config v0.3.27 -> v0.3.30
    Updating primeorder v0.13.2 -> v0.13.6
    Updating proc-macro2 v1.0.69 -> v1.0.78
    Updating quote v1.0.33 -> v1.0.35
    Removing redox_syscall v0.3.5
    Updating regex v1.10.2 -> v1.10.3
    Updating regex-automata v0.4.3 -> v0.4.5
    Updating rustix v0.38.21 -> v0.38.31
    Updating ryu v1.0.15 -> v1.0.17
    Updating schannel v0.1.22 -> v0.1.23
    Updating semver v1.0.20 -> v1.0.22
    Updating serde v1.0.190 -> v1.0.197
    Updating serde_derive v1.0.190 -> v1.0.197
    Updating serde_ignored v0.1.9 -> v0.1.10
    Updating serde_json v1.0.108 -> v1.0.114
    Updating serde_spanned v0.6.4 -> v0.6.5
    Updating signature v2.1.0 -> v2.2.0
    Updating smallvec v1.11.1 -> v1.13.1
    Updating socket2 v0.4.10 -> v0.5.6
    Updating spki v0.7.2 -> v0.7.3
    Updating strsim v0.10.0 -> v0.11.0
    Removing syn v1.0.109
    Removing syn v2.0.38
      Adding syn v2.0.50
    Updating tabwriter v1.3.0 -> v1.4.0
    Updating tempfile v3.8.1 -> v3.10.0
    Updating termcolor v1.3.0 -> v1.4.1
    Updating thiserror v1.0.50 -> v1.0.57
    Updating thiserror-impl v1.0.50 -> v1.0.57
    Removing thread_local v1.1.7
    Updating time v0.3.30 -> v0.3.34
    Updating time-macros v0.2.15 -> v0.2.17
    Updating unicode-bidi v0.3.13 -> v0.3.15
    Updating unicode-bom v2.0.2 -> v2.0.3
    Updating unicode-normalization v0.1.22 -> v0.1.23
    Updating url v2.4.1 -> v2.5.0
    Updating wasm-bindgen v0.2.88 -> v0.2.91
    Updating wasm-bindgen-backend v0.2.88 -> v0.2.91
    Updating wasm-bindgen-macro v0.2.88 -> v0.2.91
    Updating wasm-bindgen-macro-support v0.2.88 -> v0.2.91
    Updating wasm-bindgen-shared v0.2.88 -> v0.2.91
      Adding windows-sys v0.52.0
      Adding windows-targets v0.52.3
      Adding windows_aarch64_gnullvm v0.52.3
      Adding windows_aarch64_msvc v0.52.3
      Adding windows_i686_gnu v0.52.3
      Adding windows_i686_msvc v0.52.3
      Adding windows_x86_64_gnu v0.52.3
      Adding windows_x86_64_gnullvm v0.52.3
      Adding windows_x86_64_msvc v0.52.3
    Updating winnow v0.5.18 -> v0.5.40 (latest: v0.6.2)
    Updating zerocopy v0.7.21 -> v0.7.32
    Updating zerocopy-derive v0.7.21 -> v0.7.32
    Updating zeroize v1.6.0 -> v1.7.0
note: pass `--verbose` to see 74 unchanged dependencies behind latest
warning: not updating lockfile due to dry run
jayvdb commented 4 months ago

The ahash problem has been fixed on main

Now I see

error[E0282]: type annotations needed for `Box<_>`
  --> /home/jayvdb/.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
   |              ++++++++

https://github.com/kbknapp/cargo-outdated/pull/393 fixes that