Page MenuHomePhabricator

[Concept] Placeholder constraints and abbreviated templates
Needs ReviewPublic

Authored by saar.raz on Jul 20 2019, 4:59 PM.

Details

Summary

This patch implements P1141R2 "Yet another approach for constrained declarations", and is the last in the (initial) series for implementing C++2a concepts.

General strategy for this patch was:

  • Expand AutoType to include optional type-constraint, reflecting the wording and easing the integration of constraints.
  • Recognize AutoTypes used in functions parameters in ActOnFunctionDeclarator (the first place where we have the required information to fetch the correct template parameter list to append the invented parameters to) and fix the function and parameter types there.

Based on D60939.

Diff Detail

Event Timeline

saar.raz created this revision.Jul 20 2019, 4:59 PM
Herald added a reviewer: shafik. · View Herald Transcript
Herald added a project: Restricted Project. · View Herald Transcript
Herald added a subscriber: cfe-commits. · View Herald Transcript

ASTImporter.cpp and ASTStructuralEquivalence.cpp looks good to me!

lib/AST/ASTImporter.cpp
1286

LGTM!

lib/AST/ASTStructuralEquivalence.cpp
732

This looks good to me!

martong resigned from this revision.Jul 22 2019, 2:26 AM