Lymia / enumset

A library for compact bit sets containing enums.
Apache License 2.0
91 stars 35 forks source link

Update darling requirement from 0.14 to 0.20 #42

Closed dependabot[bot] closed 1 year ago

dependabot[bot] commented 1 year ago

Updates the requirements on darling to permit the latest version.

Release notes

Sourced from darling's releases.

v0.20.0 (April 27, 2023)

Breaking Changes

  • Replace all occurrences of syn::NestedMeta with darling::ast::NestedMeta.

  • Replacement for the deprecated AttributeArgs:

// Before

parse_macro_input!(args as AttributeArgs);

// After

match NestedMeta::parse_meta_list(args) { Ok(v) => v, Err(e) => { return TokenStream::from(Error::from(e).write_errors()); } };

  • In GenericParamExt, LifetimeDef is now LifetimeParam.
  • In GenericParamExt, as_lifetime_def is renamed to as_lifetime_param.
  • Flag and SpannedValue no longer implement syn::spanned::Spanned.
  • The MSRV (minimum supported Rust version) is now 1.56, because of syn.

Deprecation Warnings

In previous versions of darling, arbitrary expressions were passed in attributes by wrapping them in quotation marks. v0.20.0 preserves this behavior for syn::Expr, but as a result a field expecting a syn::Expr cannot accept a string literal - it will incorrectly attempt to parse the contents. If this is an issue for you, please add a comment to #229.

Changelog

Sourced from darling's changelog.

v0.20.0 (April 27, 2023)

Breaking Changes

  • Replace all occurrences of syn::NestedMeta with darling::ast::NestedMeta.

  • Replacement for the deprecated AttributeArgs:

// Before

parse_macro_input!(args as AttributeArgs);

// After

match NestedMeta::parse_meta_list(args) { Ok(v) => v, Err(e) => { return TokenStream::from(Error::from(e).write_errors()); } };

  • In GenericParamExt, LifetimeDef is now LifetimeParam.
  • In GenericParamExt, as_lifetime_def is renamed to as_lifetime_param.
  • Flag and SpannedValue no longer implement syn::spanned::Spanned.
  • The MSRV (minimum supported Rust version) is now 1.56, because of syn.

Deprecation Warnings

In previous versions of darling, arbitrary expressions were passed in attributes by wrapping them in quotation marks. v0.20.0 preserves this behavior for syn::Expr, but as a result a field expecting a syn::Expr cannot accept a string literal - it will incorrectly attempt to parse the contents. If this is an issue for you, please add a comment to #229.

v0.14.4 (March 9, 2023)

  • Add support for child diagnostics when diagnostics feature enabled #224

v0.14.3 (February 3, 2023)

  • Re-export syn from darling to avoid requiring that consuming crates have a syn dependency.
  • Change <SpannedValue<T> as FromMeta> impl to more precisely capture the value span, as opposed to the span of the entire item.
  • Add darling::util::{AsShape, Shape, ShapeSet} to improve "shape" validation for structs and variants. #222

v0.14.2 (October 26, 2022)

  • Derived impls of FromMeta will now error on literals, rather than silently ignoring them. #193
  • Don't include property paths in compile errors when spans are available. #203

... (truncated)

Commits
  • ffb9cc8 Update CHANGELOG
  • b0bfdfd Bump version to 0.20.0
  • 2c9ba69 Bump syn to 2.0.15
  • 1d6f8df Replace Default returns with explicit panics for unknown enum variants
  • 3fcf61a Add support for unquoted expressions in value position
  • cbb7389 Update example in README which used the outdated AttributeArgs type
  • c036162 Handle invisible groups in from_expr
  • 8097397 Remove unnecessary clones
  • fba6466 Rename more occurences of lifetime "def" to "param"
  • 1da9218 from_nested_meta can stay a part of FromMeta trait
  • Additional commits viewable in compare view


Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually 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 ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)