• Przemyslaw Gorszkowski's avatar
    C++: nested class with enclosing template class · ba42ceb0
    Przemyslaw Gorszkowski authored
    
    
    The parent of instantiation of nested class of template class
    should be the instantiation of enclosing template class.
    
    To prevent the infinite loop for case with local typedef of enclosing
    template we should not change a parent of typedefed instatiation of
    enclosing template. Example:
    template <typename T>
    struct Enclosing
    {
      typedef Enclosing<T> EnclosingT;// first case
      struct Nested
      {
        typedef Enclosing<T> EnclosingT;// second case
      };
    };
    
    Task-number: QTCREATORBUG-11752
    Task-number: QTCREATORBUG-11999
    Change-Id: Iadd7b5ef73ee0c4881f59c9dabfe03339f55827b
    Reviewed-by: default avatarNikolai Kosjar <nikolai.kosjar@digia.com>
    ba42ceb0
cppcompletion_test.cpp 78 KB