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 our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix template instantiation reporting #1136
Fix template instantiation reporting #1136
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.
Very nice, thank you! See some comments inline, but generally this lgtm.
de19606
to
4c6bfed
Compare
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.
Just a request for a comment, otherwise looks great! Thanks for taking the time to analyze all my questions.
9d9a822
to
6ee423a
Compare
Names starting with an underscore aren't allowed in a global namespace, according to the standard.
Full template specialization type use requires full information about its template-argument-dependent fields and nested typedefs. But earlier, it wasn't reported in many cases when template specialization type isn't written explicitly in non-fwd-decl context.
Non-sugared template specialization type template arguments are already analyzed due to 'TraverseType' call inside 'InstantiatedTemplateVisitor::TraverseSubstTemplateTypeParmTypeHelper' and subsequent 'TraverseTemplateSpecializationTypeHelper' call. Components of sugared template specialization types are added into resugar_map, otherwise their template arguments would not be reported. Test case has been extended.
It became superfluous after generalization of reporting types needed for template instantiation.
6ee423a
to
88fb8cb
Compare
Excellent, thanks! |
Full template specialization type use requires full information about its template-argument-dependent fields and nested typedefs. But earlier, it wasn't reported in many cases when template specialization type isn't written explicitly in non-fwd-decl context.