| Summary: | [regression] 'auto' type deduction failure involving templates | ||
|---|---|---|---|
| Product: | [Tools] CDT | Reporter: | Nathan Ridge <zeratul976> |
| Component: | cdt-indexer | Assignee: | Markus Schorn <mschorn.eclipse> |
| Status: | RESOLVED FIXED | QA Contact: | Markus Schorn <mschorn.eclipse> |
| Severity: | normal | ||
| Priority: | P3 | CC: | cdtdoug |
| Version: | 8.1.0 | ||
| Target Milestone: | 8.1.0 | ||
| Hardware: | All | ||
| OS: | All | ||
| Whiteboard: | |||
Added testcases and fix. Thanks Markus for your prompt bug fixes! I'm done with reporting bugs for a while, as the vast majority of the remaining false positive errors in our codebase reduce to uses of dependent expressions :) *** cdt git genie on behalf of Markus Schorn ***
Bug 368610: Specialization of classes used as template args
[*] http://git.eclipse.org/c/cdt/org.eclipse.cdt.git/commit/?id=66f92bb58277c3cc845249c089b0bf28b9e0312e
|
struct S { int x; }; template <typename> struct iterator_base { S operator*(); }; template <typename> struct A { struct iterator : public iterator_base<iterator> { }; }; int main() { A<int>::iterator it; auto s = *it; s.x; // ERROR HERE: "Field 'x' could not be resolved" } The error goes away if either class is made a nontemplate. This worked fine in previous Juno builds.