diff --git a/src/plugins/cpptools/cppcodecompletion.cpp b/src/plugins/cpptools/cppcodecompletion.cpp index a0fbe82a542b7cead52b72a95a20452d18f71602..addf5301f79b66f5421217ade1d2a4d0d6b15c57 100644 --- a/src/plugins/cpptools/cppcodecompletion.cpp +++ b/src/plugins/cpptools/cppcodecompletion.cpp @@ -966,8 +966,10 @@ void CppCodeCompletion::complete(const TextEditor::CompletionItem &item) if (Function *function = symbol->type()->asFunction()) { // If the member is a function, automatically place the opening parenthesis, // except when it might take template parameters. - if (!function->returnType().isValid() - && (function->identity() && !function->identity()->isDestructorNameId())) { + const bool hasReturnType = function->returnType().isValid() || + function->returnType().isSigned() || + function->returnType().isUnsigned(); + if (! hasReturnType && (function->identity() && !function->identity()->isDestructorNameId())) { // Don't insert any magic, since the user might have just wanted to select the class } else if (function->templateParameterCount() != 0) {