- Notifications
You must be signed in to change notification settings - Fork1.7k
C++: Fix C++20 concept related class extensions#20026
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 ourterms of service andprivacy statement. We’ll occasionally send you account related emails.
Already on GitHub?Sign in to your account
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
Pull Request Overview
This PR fixes C++20 concept-related class extensions in the CodeQL library by correcting the inheritance hierarchy for requirement expressions. The changes ensure that all requirement expression classes properly inherit fromRequirementExpr
and eliminate redundant parent checks.
Key changes:
- Adds constructor logic to
RequirementExpr
to establish proper parent-child relationships - Refactors requirement expression classes to use the base class constructor instead of duplicating parent checks
- Corrects the inheritance hierarchy for
NestedRequirementExpr
andConceptIdExpr
Uh oh!
There was an error while loading.Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
DCA is happy and LGTM 👍
d82d5c2
intogithub:mainUh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
Noted by@MathiasVP on Slack.
RequirementExpr
was missing a charpred, or wasn't abstract. I added a charpred.NestedRequirementExpr
accidentally didn't extendRequirementExpr
ConceptIdExpr
accidentally did extendRequirementExpr
(while it can occur in other contexts)