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)
> 

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