diff --git a/uppsrc/ide/Cpp.cpp b/uppsrc/ide/Cpp.cpp index 651b83d2e..54f6e15f7 100644 --- a/uppsrc/ide/Cpp.cpp +++ b/uppsrc/ide/Cpp.cpp @@ -187,6 +187,11 @@ void AssistEditor::ExpressionType(const String& ttype, const String& usings, String type = ParseTemplatedType(ttype, tparam); int c0 = typeset.GetCount(); const Array& n = GetTypeItems(type); + for(int i = 0; i < n.GetCount(); i++) + if(n[i].kind == TYPEDEF) { + ExpressionType(n[i].qtype, usings, xp, ii, typeset, variable, can_shortcut_operator, visited_bases, lvl + 1); + return; + } String id = xp[ii]; int q = id.ReverseFind(':'); if(q > 0 && id[q - 1] == ':') {