Skip to content

rental future compat warning #84428

Closed
Closed
@est31

Description

@est31

If I clone rental and run cargo +beta test on it, I get t he following warning:

> cargo +beta check
warning: using `procedural-masquerade` crate
   --> src/lib.rs:94:8
    |
94  |         enum ProceduralMasqueradeDummyType {
    |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...
117 |     define_rental_traits!(32);
    |     -------------------------- in this macro invocation
    |
    = note: `#[warn(proc_macro_back_compat)]` on by default
    = 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 #83125 <https://github.com/rust-lang/rust/issues/83125>
    = note: The `procedural-masquerade` crate has been unnecessary since Rust 1.30.0. Versions of this crate below 0.1.7 will eventually stop compiling.
    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)

This also occurs in crates that use rental, e.g. one of glium's examples.

cc #83125 (tracking issue)

The warning itself has been added by PR #83168, whose justification was that the procedural-masquerade crate sees little use anyways. And indeed, on crates.io it "only" has 27,419 recent downloads. Rental on the other hand has 193,341 recent downloads, or almost 10 times as many. Furthermore, you can fix the warning on your side by just removing use of that crate as it's become redundant. Rental on the other hand is not redundant, so your only option is to switch to an alternative, which might be expensive.

I would approach fixing of this issue with the following steps:

cc @Aaron1011 @petrochenkov

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-proc-macro-back-compatArea: Backwards compatibility hacks for proc macrosA-proc-macrosArea: Procedural macros

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions