This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.

Bug 136146

Summary: Wrong instantiation of instantiation. (list for iterators is not in CC)
Product: cnd Reporter: Alexander Simon <alexvsimon>
Component: Code ModelAssignee: Egor Ushakov <gorrus>
Status: RESOLVED FIXED    
Severity: blocker    
Priority: P2    
Version: 6.x   
Hardware: All   
OS: All   
Issue Type: DEFECT Exception Reporter:
Bug Depends on: 137027, 137316    
Bug Blocks: 133129, 134091    

Description Alexander Simon 2008-05-30 10:29:04 UTC
Test case:
----------------------
template<typename T> struct List_iterator {
    typedef T* pointer;
    typedef T& reference;
    reference operator*() const { return node; }
    pointer operator->() const { return &node; }
private:
    reference node;
};

template<typename T> struct List {
    typedef List_iterator<T> iterator;
};

struct Cust {
    int foo();
};

int main() {
    List<Cust>::iterator i1;
    i1->foo();
    (*i1).foo();
}
----------------------
Both hyper links on method foo() do not work in the main.
As result hyper links and completion do not work for GNU STL iterators.
Comment 1 Egor Ushakov 2008-06-16 14:39:19 UTC
Instantiations fix is implemented in:
http://hg.netbeans.org/main/rev/e01bd3a1ee99

Also nested types (IZ 137316) are needed for the specified testcase to work.
Comment 2 Vladimir Voskresensky 2008-06-18 13:01:39 UTC
*** Issue 117731 has been marked as a duplicate of this issue. ***
Comment 3 Egor Ushakov 2008-06-25 15:24:22 UTC
Nested types were implemented with the fix of the issue 137316,
and now the provided testcase works fine.