Feature: add support for impl const Trait syntax#1974
Open
usmanovbf wants to merge 1 commit intodtolnay:masterfrom
Open
Feature: add support for impl const Trait syntax#1974usmanovbf wants to merge 1 commit intodtolnay:masterfrom
impl const Trait syntax#1974usmanovbf wants to merge 1 commit intodtolnay:masterfrom
Conversation
Author
|
There are failed tests in CI. ? |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
This PR introduces support for parsing constant trait implementations, specifically the
const implandimpl constsyntaxes. This resolves the parsing error reported in issue #1972 and alignssynwith the experimental syntax introduced by RFC 2632 (Const Trait Impls).Changes included in this PR:
constness: Option<Token![const]>field to thesyn::ItemImplstruct.Parse): Updated the parser insrc/item.rsto correctly recognize and consume theconstkeyword. It handles bothconst impl Traitandimpl const Traitvariations to ensure robust compatibility with the experimental compiler features.ToTokens): Updated the implementation to assure theconsttoken is properly preserved and written back into the token stream during code generation.clone.rs,debug.rs,eq.rs,fold.rs,hash.rs,visit.rs,visit_mut.rs) to account for the newconstnessfield.tests/test_item.rsto verify successful parsing, token round-tripping, and correct behavior when combined with other modifiers likedefaultandunsafe.SemVer Note:
Please note that adding a public field to
ItemImplis a breaking change for users relying on exhaustive pattern matching. I defer to the maintainers on the appropriate milestone or breaking release batch for this PR.