Cardinal-Cryptography / AlephBFT

Rust implementation of Aleph consensus protocol
https://cardinal-cryptography.github.io/AlephBFT/index.html
Apache License 2.0
53 stars 28 forks source link

A0-3951: Bump derive_more from 0.99.18 to 1.0.0 in the all-rust-deps group #467

Closed dependabot[bot] closed 1 month ago

dependabot[bot] commented 1 month ago

Bumps the all-rust-deps group with 1 update: derive_more.

Updates derive_more from 0.99.18 to 1.0.0

Release notes

Sourced from derive_more's releases.

v1.0.0 - Finally a stable release

derive_more is a library that adds derives for many of the standard library traits. By using this library the following code just works:

use derive_more::{Add, Display, From, Into};

#[derive(PartialEq, From, Add)] struct MyInt(i32);

#[derive(PartialEq, From, Into)] struct Point2D { x: i32, y: i32, }

#[derive(PartialEq, From, Add, Display)] enum MyEnum { #[display("int: {_0}")] Int(i32), Uint(u32), #[display("nothing")] Nothing, }

assert!(MyInt(11) == MyInt(5) + 6.into()); assert!((5, 6) == Point2D { x: 5, y: 6 }.into()); assert!(MyEnum::Int(15) == (MyEnum::Int(8) + 7.into()).unwrap()); assert!(MyEnum::Int(15).to_string() == "int: 15"); assert!(MyEnum::Uint(42).to_string() == "42"); assert!(MyEnum::Nothing.to_string() == "nothing");

Now, more than 8 years after the first commit and almost 5 years after the 0.99.0 release, derive_more has finally reached its 1.0.0 release. This release contains a lot of changes (including some breaking ones) to make it easier to use the derives and make it possible to extend them without having to break backwards compatibility again. There are five major changes that I would like to call out, but there are many more changes that are documented below:

  1. There is a new Debug derive that can be used to easily customize Debug formatting.
  2. A greatly improved Display derive, which allows you to do anything that thiserror provides, but it works for any type not just errors. And by combining the Display derive with the Error and From derives, there shouldn't really be any need to use thiserror anymore (if you are missing a feature/behaviour from thiserror please report an issue).
  3. Traits that can return errors now return a type that implements Error when an error occurs instead of a &'static str.
  4. When using use derive_more::SomeTrait the actual trait is also imported not just the derive macro. This is especially useful for Error and Display
  5. The docs are now rendered on docs.rs and are much better overall.

Breaking changes

  • The minimum supported Rust version (MSRV) is now Rust 1.75.
  • Add the std feature which should be disabled in no_std environments.
  • All Cargo features, except std, are now disabled by default. The full feature can be used to get the old behavior of supporting all possible derives.
  • The TryFrom, Add, Sub, BitAnd, BitOr, BitXor, Not and Neg derives now return a dedicated error type instead of a &'static str on error.
  • The FromStr derive now uses a dedicated FromStrError error type instead of generating unique one each time.
  • The Display derive (and other fmt-like ones) now uses #[display("...", (<expr>),*)] syntax instead of #[display(fmt = "...", ("<expr>"),*)], and #[display(bound(<bound>))] instead of #[display(bound = "<bound>")]. So without the double quotes around the expressions and bounds.
  • The Debug and Display derives (and other fmt-like ones) now transparently delegate to the inner type when #[display("...", (<expr>),*)] attribute is trivially substitutable with a transparent call. (#322)

... (truncated)

Changelog

Sourced from derive_more's changelog.

1.0.0 - 2024-08-07

More than 8 years after the first commit and almost 5 years after the 0.99.0 release, derive_more has finally reached its 1.0.0 release. This release contains a lot of changes (including some breaking ones) to make it easier to use the derives and make it possible to extend them without having to break backwards compatibility again. There are five major changes that I would like to call out, but there are many more changes that are documented below:

  1. There is a new Debug derive that can be used to easily customize Debug formatting.
  2. A greatly improved Display derive, which allows you to do anything that thiserror provides, but it works for any type not just errors. And by combining the Display derive with the Error and From derives, there shouldn't really be any need to use thiserror anymore (if you are missing a feature/behaviour from thiserror please report an issue).
  3. Traits that can return errors now return a type that implements Error when an error occurs instead of a &'static str.
  4. When using use derive_more::SomeTrait the actual trait is also imported not just the derive macro. This is especially useful for Error and Display
  5. The docs are now rendered on docs.rs and are much better overall.

Breaking changes

  • The minimum supported Rust version (MSRV) is now Rust 1.75.
  • Add the std feature which should be disabled in no_std environments.
  • All Cargo features, except std, are now disabled by default. The full feature can be used to get the old behavior of supporting all possible derives.
  • The TryFrom, Add, Sub, BitAnd, BitOr, BitXor, Not and Neg derives now return a dedicated error type instead of a &'static str on error.
  • The FromStr derive now uses a dedicated FromStrError error type instead of generating unique one each time.
  • The Display derive (and other fmt-like ones) now uses #[display("...", (<expr>),*)] syntax instead of #[display(fmt = "...", ("<expr>"),*)], and #[display(bound(<bound>))] instead of #[display(bound = "<bound>")]. So without the double quotes around the expressions and bounds.
  • The Debug and Display derives (and other fmt-like ones) now transparently delegate to the inner type when #[display("...", (<expr>),*)] attribute is trivially substitutable with a transparent call. (#322)
  • The DebugCustom derive is renamed to just Debug (gated now under a separate debug feature), and its semantics were changed to be a superset of std variant of Debug.
  • The From derive doesn't derive From<()> for enum variants without any fields anymore. This feature was removed because it was considered useless in

... (truncated)

Commits
  • d7f5b9e chore: Release
  • 40201b1 Update release date to be correct
  • 88863ca Update changelog wording
  • b713835 Improve error when not enabling any features
  • 330e425 Order features in Cargo.toml alphabetically
  • 84f2cbb Update README and CHANGELOG in preparation of 1.0.0
  • e8d60cf Add compile_fail test for on purpose limited bounds (#393, #392)
  • f665d18 Make anyhow reference a bit less strong
  • 6d632b2 Add release announcement (#390)
  • e87ab13 Don't create git tags for derive_more-impl (#391)
  • Additional commits viewable in compare view


Dependabot compatibility score

You can trigger a rebase of this PR by commenting @dependabot rebase.


Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself) - `@dependabot ignore minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself) - `@dependabot ignore ` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself) - `@dependabot unignore ` will remove all of the ignore conditions of the specified dependency - `@dependabot unignore ` will remove the ignore condition of the specified dependency and ignore conditions
github-actions[bot] commented 1 month ago

Please make sure the following happened

dependabot[bot] commented 1 month ago

Looks like derive_more is updatable in another way, so this is no longer needed.