Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore(deps): update dependencies (major changes) (major) #61

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Jun 24, 2023

This PR contains the following updates:

Package Type Update Change
indexmap dependencies major 1.9.3 -> 2.0.0
thiserror dependencies major ~1.0.40 -> ~2.0.0
which dev-dependencies major ~4.4 -> ~7.0.0

Release Notes

indexmap-rs/indexmap (indexmap)

v2.6.0

Compare Source

  • Implemented Clone for map::IntoIter and set::IntoIter.
  • Updated the hashbrown dependency to version 0.15.

v2.5.0

Compare Source

  • Added an insert_before method to IndexMap and IndexSet, as an
    alternative to shift_insert with different behavior on existing entries.
  • Added first_entry and last_entry methods to IndexMap.
  • Added From implementations between IndexedEntry and OccupiedEntry.

v2.4.0

Compare Source

  • Added methods IndexMap::append and IndexSet::append, moving all items from
    one map or set into another, and leaving the original capacity for reuse.

v2.3.0

Compare Source

  • Added trait MutableEntryKey for opt-in mutable access to map entry keys.
  • Added method MutableKeys::iter_mut2 for opt-in mutable iteration of map
    keys and values.

v2.2.6

Compare Source

  • Added trait MutableValues for opt-in mutable access to set values.

v2.2.5

Compare Source

  • Added optional borsh serialization support.

v2.2.4

Compare Source

  • Added an insert_sorted method on IndexMap, IndexSet, and VacantEntry.
  • Avoid hashing for lookups in single-entry maps.
  • Limit preallocated memory in serde deserializers.

v2.2.3

Compare Source

  • Added move_index and swap_indices methods to IndexedEntry,
    OccupiedEntry, and RawOccupiedEntryMut, functioning like the existing
    methods on IndexMap.
  • Added shift_insert methods on VacantEntry and RawVacantEntryMut, as
    well as shift_insert_hashed_nocheck on the latter, to insert the new entry
    at a particular index.
  • Added shift_insert methods on IndexMap and IndexSet to insert a new
    entry at a particular index, or else move an existing entry there.

v2.2.2

Compare Source

  • Added indexing methods to raw entries: RawEntryBuilder::from_hash_full,
    RawEntryBuilder::index_from_hash, and RawEntryMut::index.

v2.2.1

Compare Source

  • Corrected the signature of RawOccupiedEntryMut::into_key(self) -> &'a mut K,
    This a breaking change from 2.2.0, but that version was published for less
    than a day and has now been yanked.

v2.2.0

Compare Source

  • The new IndexMap::get_index_entry method finds an entry by its index for
    in-place manipulation.

  • The Keys iterator now implements Index<usize> for quick access to the
    entry's key, compared to indexing the map to get the value.

  • The new IndexMap::splice and IndexSet::splice methods will drain the
    given range as an iterator, and then replace that range with entries from
    an input iterator.

  • The new trait RawEntryApiV1 offers opt-in access to a raw entry API for
    IndexMap, corresponding to the unstable API on HashSet as of Rust 1.75.

  • Many IndexMap and IndexSet methods have relaxed their type constraints,
    e.g. removing K: Hash on methods that don't actually need to hash.

  • Removal methods remove, remove_entry, and take are now deprecated
    in favor of their shift_ or swap_ prefixed variants, which are more
    explicit about their effect on the index and order of remaining items.
    The deprecated methods will remain to guide drop-in replacements from
    HashMap and HashSet toward the prefixed methods.

v2.1.0

Compare Source

  • Empty slices can now be created with map::Slice::{new, new_mut} and
    set::Slice::new. In addition, Slice::new, len, and is_empty are
    now const functions on both types.

  • IndexMap, IndexSet, and their respective Slices all have binary
    search methods for sorted data: map binary_search_keys and set
    binary_search for plain comparison, binary_search_by for custom
    comparators, binary_search_by_key for key extraction, and
    partition_point for boolean conditions.

v2.0.2

Compare Source

  • The hashbrown dependency has been updated to version 0.14.1 to
    complete the support for Rust 1.63.

v2.0.1

Compare Source

  • MSRV: Rust 1.63.0 is now supported as well, pending publication of
    hashbrown's relaxed MSRV (or use cargo --ignore-rust-version).

v2.0.0

Compare Source

  • MSRV: Rust 1.64.0 or later is now required.

  • The "std" feature is no longer auto-detected. It is included in the
    default feature set, or else can be enabled like any other Cargo feature.

  • The "serde-1" feature has been removed, leaving just the optional
    "serde" dependency to be enabled like a feature itself.

  • IndexMap::get_index_mut now returns Option<(&K, &mut V)>, changing
    the key part from &mut K to &K. There is also a new alternative
    MutableKeys::get_index_mut2 to access the former behavior.

  • The new map::Slice<K, V> and set::Slice<T> offer a linear view of maps
    and sets, behaving a lot like normal [(K, V)] and [T] slices. Notably,
    comparison traits like Eq only consider items in order, rather than hash
    lookups, and slices even implement Hash.

  • IndexMap and IndexSet now have sort_by_cached_key and
    par_sort_by_cached_key methods which perform stable sorts in place
    using a key extraction function.

  • IndexMap and IndexSet now have reserve_exact, try_reserve, and
    try_reserve_exact methods that correspond to the same methods on Vec.
    However, exactness only applies to the direct capacity for items, while the
    raw hash table still follows its own rules for capacity and load factor.

  • The Equivalent trait is now re-exported from the equivalent crate,
    intended as a common base to allow types to work with multiple map types.

  • The hashbrown dependency has been updated to version 0.14.

  • The serde_seq module has been moved from the crate root to below the
    map module.

dtolnay/thiserror (thiserror)

v2.0.0

Compare Source

Breaking changes

  • Referencing keyword-named fields by a raw identifier like {r#type} inside a format string is no longer accepted; simply use the unraw name like {type} (#​347)

    This aligns thiserror with the standard library's formatting macros, which gained support for implicit argument capture later than the release of this feature in thiserror 1.x.

    #[derive(Error, Debug)]
    #[error("... {type} ...")]  // Before: {r#type}
    pub struct Error {
        pub r#type: Type,
    }
  • Trait bounds are no longer inferred on fields whose value is shadowed by an explicit named argument in a format message (#​345)

    // Before: impl<T: Octal> Display for Error<T>
    // After: impl<T> Display for Error<T>
    #[derive(Error, Debug)]
    #[error("{thing:o}", thing = "...")]
    pub struct Error<T> {
        thing: T,
    }
  • Tuple structs and tuple variants can no longer use numerical {0} {1} access at the same time as supplying extra positional arguments for a format message, as this makes it ambiguous whether the number refers to a tuple field vs a different positional arg (#​354)

    #[derive(Error, Debug)]
    #[error("ambiguous: {0} {}", $N)]
    //                  ^^^ Not allowed, use #[error("... {0} {n}", n = $N)]
    pub struct TupleError(i32);
  • Code containing invocations of thiserror's derive(Error) must now have a direct dependency on the thiserror crate regardless of the error data structure's contents (#​368, #​369, #​370, #​372)

Features

  • Support disabling thiserror's standard library dependency by disabling the default "std" Cargo feature: thiserror = { version = "2", default-features = false } (#​373)

  • Support using r#source as field name to opt out of a field named "source" being treated as an error's Error::source() (#​350)

    #[derive(Error, Debug)]
    #[error("{source} ==> {destination}")]
    pub struct Error {
        r#source: char,
        destination: char,
    }
    
    let error = Error { source: 'S', destination: 'D' };
  • Infinite recursion in a generated Display impl now produces an unconditional_recursion warning (#​359)

    #[derive(Error, Debug)]
    #[error("??? {self}")]
    pub struct Error;
  • A new attribute #[error(fmt = path::to::myfmt)] can be used to write formatting logic for an enum variant out-of-line (#​367)

    #[derive(Error, Debug)]
    pub enum Error {
        #[error(fmt = demo_fmt)]
        Demo { code: u16, message: Option<String> },
    }
    
    fn demo_fmt(code: &u16, message: &Option<String>, formatter: &mut fmt::Formatter) -> fmt::Result {
        write!(formatter, "{code}")?;
        if let Some(msg) = message {
            write!(formatter, " - {msg}")?;
        }
        Ok(())
    }
  • Enums with an enum-level format message are now able to have individual variants that are transparent to supersede the enum-level message (#​366)

    #[derive(Error, Debug)]
    #[error("my error {0}")]
    pub enum Error {
        Json(#[from] serde_json::Error),
        Yaml(#[from] serde_yaml::Error),
        #[error(transparent)]
        Other(#[from] anyhow::Error),
    }

v1.0.68

Compare Source

  • Handle incomplete expressions more robustly in format arguments, such as while code is being typed (#​341, #​344)

v1.0.67

Compare Source

v1.0.66

Compare Source

  • Improve compile error on malformed format attribute (#​327)

v1.0.65

Compare Source

  • Ensure OUT_DIR is left with deterministic contents after build script execution (#​325)

v1.0.64

Compare Source

v1.0.63

Compare Source

  • Documentation improvements

v1.0.62

Compare Source

  • Support referring to nested tuple struct fields inside #[error("…", …)] attribute (#​309)

v1.0.61

Compare Source

  • Use core::fmt and core::panic to facilitate error_in_core support (#​299, thanks @​jordens)

v1.0.60

Compare Source

  • Resolve unexpected_cfgs warning (#​298)

v1.0.59

Compare Source

  • Unblock testing of rustc debug-fmt-detail option (#​297)

v1.0.58

Compare Source

  • Make backtrace support available when using -Dwarnings (#​292)

v1.0.57

Compare Source

  • Generate more efficient Display impl for error message which do not contain any interpolated value (#​286, thanks @​nyurik)

v1.0.56

Compare Source

  • Update proc-macro2 to fix caching issue when using a rustc-wrapper such as sccache

v1.0.55

Compare Source

  • Work around improperly cached build script result by sccache – second attempt (#​280)

v1.0.54

Compare Source

  • Work around improperly cached build script result by sccache – first attempt (#​279)

v1.0.53

Compare Source

  • Reduce spurious rebuilds under RustRover IDE when using a nightly toolchain (#​270)

v1.0.52

Compare Source

  • Fix interaction with RUSTC_BOOTSTRAP (#​269)

v1.0.51

Compare Source

  • Improve diagnostics when an invalid attribute previously caused thiserror to generate no Error impl (#​266)

v1.0.50

Compare Source

  • Improve diagnostic when a #[source], #[from], or #[transparant] attribute refers to a type that has no std::error::Error impl (#​258, thanks @​de-vri-es)

v1.0.49

Compare Source

v1.0.48

Compare Source

  • Improve implementation of displaying Path values in a generated Display impl (#​251, thanks @​mina86)

v1.0.47

Compare Source

v1.0.46

Compare Source

  • Add bootstrap workaround to allow rustc to depend on thiserror (#​248, thanks @​RalfJung)

v1.0.45

Compare Source

v1.0.44

Compare Source

  • Documentation improvements

v1.0.43

Compare Source

v1.0.42

Compare Source

  • Fix compile error in derived Display impl if there was a nonstandard write! macro in scope (#​239)

v1.0.41

Compare Source

harryfei/which-rs (which)

v7.0.0

Compare Source

  • Add support to WhichConfig for a user provided closure that will be called whenever a nonfatal error occurs.
    This technically breaks a few APIs due to the need to add more generics and lifetimes. Most code will compile
    without changes.

v6.0.3

Compare Source

  • Enhance tracing feature with some debug level logs for higher level logic.

v6.0.2

Compare Source

  • Add tracing feature which outputs debugging information to the tracing ecosystem.

v6.0.1

Compare Source

  • Remove dependency on once_cell for Windows users, replace with std::sync::OnceLock.

v6.0.0

Compare Source

  • MSRV is now 1.70
  • Upgraded all dependencies to latest version

v5.0.0

Compare Source

  • Remove several unused error messages
  • Windows executables can now be found even if they don't have a '.exe' extension.
  • Add new error message, Error::CannotGetCurrentDirAndPathListEmpty

v4.4.2

Compare Source

  • Remove dependency on dirs crate due to MPL licensing in its tree. Use home crate instead. (@​Xaeroxe)

v4.4.1

Compare Source


Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot force-pushed the renovate/major-dependencies-(major-changes) branch 2 times, most recently from 345cbb0 to 1858a04 Compare September 29, 2023 19:16
@renovate renovate bot changed the title chore(deps): update rust crate indexmap to v2 chore(deps): update dependencies (major changes) (major) Oct 18, 2023
@renovate renovate bot force-pushed the renovate/major-dependencies-(major-changes) branch from 1858a04 to b1ec2bc Compare October 18, 2023 04:19
@renovate renovate bot force-pushed the renovate/major-dependencies-(major-changes) branch from b1ec2bc to 8a31fdd Compare October 31, 2023 21:50
@renovate renovate bot force-pushed the renovate/major-dependencies-(major-changes) branch from 8a31fdd to 3c0f0dd Compare January 18, 2024 08:15
Copy link
Contributor Author

renovate bot commented Jan 18, 2024

⚠ Artifact update problem

Renovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is.

♻ Renovate will retry this branch, including artifacts, only when one of the following happens:

  • any of the package files in this branch needs updating, or
  • the branch becomes conflicted, or
  • you click the rebase/retry checkbox if found above, or
  • you rename this PR's title to start with "rebase!" to trigger it manually

The artifact failure details are included below:

File name: Cargo.lock
Command failed: cargo update --config net.git-fetch-with-cli=true --manifest-path Cargo.toml --package [email protected] --precise 2.2.6
    Updating crates.io index
error: failed to select a version for the requirement `indexmap = "^1.9.1"`
candidate versions found which didn't match: 2.2.6
location searched: crates.io index
required by package `toml_edit v0.19.7`
    ... which satisfies dependency `toml_edit = "^0.19"` (locked to 0.19.7) of package `proc-macro-crate v1.3.1`
    ... which satisfies dependency `proc-macro-crate = "^1"` (locked to 1.3.1) of package `num_enum_derive v0.5.11`
    ... which satisfies dependency `num_enum_derive = "^0.5.11"` (locked to 0.5.11) of package `num_enum v0.5.11`
    ... which satisfies dependency `num_enum = "^0.5"` (locked to 0.5.11) of package `android-activity v0.4.1`
    ... which satisfies dependency `android-activity = "^0.4.0"` (locked to 0.4.1) of package `winit v0.28.3`
    ... which satisfies dependency `winit = "^0.28.1"` (locked to 0.28.3) of package `eframe v0.22.0`
    ... which satisfies dependency `eframe = "^0.22.0"` (locked to 0.22.0) of package `unicorn-rs v0.4.1 (/tmp/renovate/repos/github/cksystemsgroup/unicorn)`
perhaps a crate was updated and forgotten to be re-vendored?

@renovate renovate bot force-pushed the renovate/major-dependencies-(major-changes) branch 3 times, most recently from e05d0a3 to 8e63d84 Compare February 1, 2024 00:50
@renovate renovate bot force-pushed the renovate/major-dependencies-(major-changes) branch from 8e63d84 to 84ecc51 Compare February 12, 2024 01:01
@renovate renovate bot force-pushed the renovate/major-dependencies-(major-changes) branch 2 times, most recently from 666ef46 to 205bff2 Compare February 29, 2024 22:05
@renovate renovate bot force-pushed the renovate/major-dependencies-(major-changes) branch from 205bff2 to 6206c91 Compare March 23, 2024 01:33
@renovate renovate bot force-pushed the renovate/major-dependencies-(major-changes) branch from 6206c91 to 96d1e9e Compare May 5, 2024 09:03
@renovate renovate bot force-pushed the renovate/major-dependencies-(major-changes) branch from 96d1e9e to fc98dfe Compare November 1, 2024 03:15
Copy link
Contributor Author

renovate bot commented Nov 1, 2024

⚠️ Artifact update problem

Renovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is.

♻ Renovate will retry this branch, including artifacts, only when one of the following happens:

  • any of the package files in this branch needs updating, or
  • the branch becomes conflicted, or
  • you click the rebase/retry checkbox if found above, or
  • you rename this PR's title to start with "rebase!" to trigger it manually

The artifact failure details are included below:

File name: Cargo.lock
Command failed: cargo update --config net.git-fetch-with-cli=true --manifest-path Cargo.toml --package [email protected] --precise 2.6.0
    Updating crates.io index
error: failed to select a version for the requirement `indexmap = "^1.9.1"`
candidate versions found which didn't match: 2.6.0
location searched: crates.io index
required by package `toml_edit v0.19.7`
    ... which satisfies dependency `toml_edit = "^0.19"` (locked to 0.19.7) of package `proc-macro-crate v1.3.1`
    ... which satisfies dependency `proc-macro-crate = "^1"` (locked to 1.3.1) of package `num_enum_derive v0.5.11`
    ... which satisfies dependency `num_enum_derive = "^0.5.11"` (locked to 0.5.11) of package `num_enum v0.5.11`
    ... which satisfies dependency `num_enum = "^0.5"` (locked to 0.5.11) of package `android-activity v0.4.1`
    ... which satisfies dependency `android-activity = "^0.4.0"` (locked to 0.4.1) of package `winit v0.28.3`
    ... which satisfies dependency `winit = "^0.28.1"` (locked to 0.28.3) of package `eframe v0.22.0`
    ... which satisfies dependency `eframe = "^0.22.0"` (locked to 0.22.0) of package `unicorn-rs v0.4.1 (/tmp/renovate/repos/github/cksystemsgroup/unicorn)`

@renovate renovate bot force-pushed the renovate/major-dependencies-(major-changes) branch from fc98dfe to 19152a2 Compare November 6, 2024 03:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants