8000 Fix macros for reserved prefixes on lifetimes by traviscross · Pull Request #47 · nicolascotton/nject · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Fix macros for reserved prefixes on lifetimes #47

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged

Conversation

traviscross
Copy link
Contributor
@traviscross traviscross commented Aug 31, 2024

Rust RFC 3101 reserved, in Rust 2021, prefixed identifiers such as prefix#ident. This should have been applied to lifetimes before the release of the edition, but was not. The Rust Project is planning to fix this, and this commit prepares this crate for that.

The key change is as follows. There are many places where this crate says, in the context of quote!(..):

impl<'prov, #(#generic_params),*>

But there were two places where this was spelled:

impl<'prov#(,#generic_params)*>

It's these that will break, and so this commit changes these to be consistent with the first spelling. An alternate way to fix this would be to just add a space, such as:

impl<'prov #(,#generic_params)*>

...but the first fix seems more idiomatic.

The other changes here aren't strictly necessary, but they make things more consistent and rely on fewer peculiarities of the Rust parser.

After merging this, you'll probably want to make a new release of this crate for the benefit of any dependent crates.

This crate was identified via a crater run on this PR:

Rust RFC 3101 reserved, in Rust 2021, prefixed identifiers such as
`prefix#ident`.  This should have been applied to lifetimes before the
release of the edition, but was not.  The Rust Project is planning to
fix this, and this commit prepares this crate for that.

The key change is as follows.  There are many places where this crate
says, in the context of `quote!(..)`:

```rust
impl<'prov, #(#generic_params),*>
```

But there were two places where this was spelled:

```rust
impl<'prov#(,#generic_params)*>
```

It's these that will break, and so this commit changes these to be
consistent with the first spelling.  An alternate way to fix this
would be to just add a space, such as:

```rust
impl<'prov #(,#generic_params)*>
```

...but the first fix seems more idiomatic.

The other changes here aren't strictly necessary, but they make things
more consistent and rely on fewer peculiarities of the Rust parser.
@nicolascotton nicolascotton merged commit 3223cbf into nicolascotton:main Sep 4, 2024
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants
0