<div dir="ltr"><div dir="ltr">Hi,<br>my name is Jan Svoboda and I'd like to participate in this year's GSoC.<br><br>In particular, I'm interested in improving template-related error messages by<br>using sugared (as-written) representation of template type arguments:<br><a href="https://llvm.org/OpenProjects.html#clang-template-instantiation-sugar">https://llvm.org/OpenProjects.html#clang-template-instantiation-sugar</a>.<br><br>I've been looking through the source code and I have two questions regarding<br>the proposed design approach:<br><br>1. "... whenever a member of a class template specialization is accessed."<br>   How can I detect this kind of member access? In the first example with<br>   `vector<string>`, is it as simple as checking the result of<br>   `FunctionDecl::isTemplateInstantiation`? I think this check could be done in<br>   `FunctionDecl::getReturnType` when deducing types in the assignment.<br><br>2. "... add a new type node to represent template argument sugar,"<br>   How can I fetch the template argument sugar? I believe it's already being<br>   stored in `clang::TemplateArgument`, but haven't found and obvious way how<br>   to get it from `FunctionDecl::getReturnType`.<br><br>Any thoughts appreciated.<br><br>Thanks,<br>Jan<br></div></div>