Rename lifetime from 'gen to 'gen_ #3
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
gen has become a keyword in Rust 2024; code produced by fauxgen's macro uses 'gen as a lifetime name, which leads to breakage in Rust 2024 use-sites. So, rename to something else - suffixing with an underscore suffices and, while a little ugly, using these lifetimes is likely to be the rare case anyway.
This is a breaking change (as shown by tests/nested.rs needing adaptation).
Keeping the name as-is and instead using raw identifier syntax (new in Rust 2021) was an option, but introduces complications of its own: one, AIUI it would break usage in earlier editions and so still be a breaking change; two, the tests break and I'm not sure why (trybuild not using the right edition?); three, the syntax is ugly and uglier than a trailing underscore - long-term, the latter's the way to go.
I wasn't able to work out how best to test this (specifically, how to get trybuild to use a specific edition).