Skip to content

contains code that will be rejected by a future version of Rust #27

Description

@daniel-pfeiffer

Nightly clippy makes me do the following, which gives many warnings:

$ rs report future-incompatibilities --id 1 --package attribute-derive-macro@0.10.5
The following warnings were discovered during the build. These warnings are an
indication that the packages contain code that will become an error in a
future release of Rust. These warnings typically cover changes to close
soundness problems, unintended or undocumented behavior, or critical problems
that cannot be fixed in a backwards-compatible fashion, and are not expected
to be in wide use.

Each warning should contain a link for more information on what the warning
means and how to resolve it.

to solve this problem, you can try the following approaches:

- ensure the maintainers know of this problem (e.g. creating a bug report if needed)
or even helping with a fix (e.g. by creating a pull request)
  - attribute-derive-macro@0.10.5
  - repository: https://github.com/ModProg/attribute-derive
  - detailed warning command: `cargo report future-incompatibilities --id 1 --package attribute-derive-macro@0.10.5`

- use your own version of the dependency with the `[patch]` section in `Cargo.toml`
For more information, see:
https://doc.rust-lang.org/cargo/reference/overriding-dependencies.html#the-patch-section

The package `attribute-derive-macro v0.10.5` currently triggers the following future incompatibility lints:
> warning: trailing semicolon in macro used in expression position
>    --> /home/pfeiffer/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/attribute-derive-macro-0.10.5/src/lib.rs:200:29
>     |
> 200 | / ...                   bail!(
> 201 | | ...                       error_message!(ident_span, "ident is specified twice")
> 202 | | ...                           + error_message!(
> 203 | | ...                               not.span()..kw.span(),
> ...   |
> 206 | | ...                   )
>     | |_______________________^
>     |
>     = note: macro invocations at the end of a block are treated as expressions
>     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `bail`
>     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
>     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
>     = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
> 
> warning: trailing semicolon in macro used in expression position
>    --> /home/pfeiffer/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/attribute-derive-macro-0.10.5/src/lib.rs:226:33
>     |
> 226 | / ...                   bail!(
> 227 | | ...                       error_message!(ident_span, "ident is specified twice")
> 228 | | ...                           + error_message!(
> 229 | | ...                               field.span()..ident.unwrap().span(),
> ...   |
> 232 | | ...                   )
>     | |_______________________^
>     |
>     = note: macro invocations at the end of a block are treated as expressions
>     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `bail`
>     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
>     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
>     = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
> 
> warning: trailing semicolon in macro used in expression position
>    --> /home/pfeiffer/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/attribute-derive-macro-0.10.5/src/lib.rs:249:33
>     |
> 249 | ...                   bail!("{VALID_FORMAT}")
>     |                       ^^^^^^^^^^^^^^^^^^^^^^^
>     |
>     = note: macro invocations at the end of a block are treated as expressions
>     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `bail`
>     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
>     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
>     = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
> 
> warning: trailing semicolon in macro used in expression position
>    --> /home/pfeiffer/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/attribute-derive-macro-0.10.5/src/lib.rs:298:46
>     |
> 298 | ...                   _ => bail!(field, "{VALID_FORMAT}"),
>     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>     |
>     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
>     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
>     = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
> 
> warning: trailing semicolon in macro used in expression position
>    --> /home/pfeiffer/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/attribute-derive-macro-0.10.5/src/lib.rs:317:30
>     |
> 317 |                         _ => bail!(field, "{VALID_FORMAT}"),
>     |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>     |
>     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
>     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
>     = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
> 
> warning: trailing semicolon in macro used in expression position
>    --> /home/pfeiffer/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/attribute-derive-macro-0.10.5/src/lib.rs:431:29
>     |
> 431 | ...                   bail!(parser.next(), "{VALID_FORMAT}")
>     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>     |
>     = note: macro invocations at the end of a block are treated as expressions
>     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `bail`
>     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
>     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
>     = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
> 
> warning: trailing semicolon in macro used in expression position
>    --> /home/pfeiffer/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/attribute-derive-macro-0.10.5/src/lib.rs:434:26
>     |
> 434 |                     _ => bail!(field, "{VALID_FORMAT}"),
>     |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>     |
>     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
>     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
>     = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
> 
> warning: trailing semicolon in macro used in expression position
>    --> /home/pfeiffer/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/attribute-derive-macro-0.10.5/src/lib.rs:567:33
>     |
> 567 | / ...                   bail!(
> 568 | | ...                       ident.map_or_else(
> 569 | | ...                           || span_range!(ty),
> 570 | | ...                           |ident| ident.span().span_range()
> 571 | | ...                       ),
> 572 | | ...                       "positional fields do not support conflicts"
> 573 | | ...                   )
>     | |_______________________^
>     |
>     = note: macro invocations at the end of a block are treated as expressions
>     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `bail`
>     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
>     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
>     = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
> 
> warning: trailing semicolon in macro used in expression position
>    --> /home/pfeiffer/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/attribute-derive-macro-0.10.5/src/lib.rs:875:14
>     |
> 875 |         _ => bail!("only works on structs with fields"),
>     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>     |
>     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
>     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
>     = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
> 

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions