GabrielDosReis/ipr

Template_id is no longer can precisely point to a primary template.

Closed this issue · 1 comments

Given:

S: <typename T> . class;

we used to be able to form a S<int> as Template_id(Id_expr(S), (int)), where S is a primary_template declaration.

After the PR: Id_expr does not belong to Name hierarchy
we no longer can do this as Id_expr is now an Expr, not a Name.

We discussed this March 30, 2022. The tentative solution is to change Template_id(Name, Expr_list) to Template_id(Expr, Expr_list). This also takes care of another related change 7963ee2 that moved Scope_ref from Name to Expr in August 23, 2020.