Bug 385217

Summary: code completion gives foo:foo::foo() instead of foo:foo()
Product: [Applications] kdevelop Reporter: RJVB <rjvbertin>
Component: Code completionAssignee: kdevelop-bugs-null
Status: RESOLVED DUPLICATE    
Severity: normal CC: amhndu
Priority: NOR    
Version First Reported In: git master   
Target Milestone: ---   
Platform: Compiled Sources   
OS: All   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:

Description RJVB 2017-09-29 20:22:49 UTC
The code completion has had a feature for a while where you could start entering an out-of-line class method implementation and it would propose an appropriate completion. For instance when foo.h contains the declaration for a new ctor foo(QObject *parent), it would propose to complete to `foo::foo(QObject *parent)` after typing just foo: on the start of a new line.

That still happens, but now the completion doesn't remove the original ext anymore, so one ends up with `foo::foo::foo(QObject *parent)` (or foo:foo::foo(QObject *parent)). A pity, it's almost faster to type the whole thing by hand than correcting the completion result.
Comment 1 RJVB 2017-09-29 20:48:20 UTC
Or worse:

void AbstractFileManagerPlugin::addDirToWatcher( void KDevelop::AbstractFileManagerPlugin::addDirToWatcher(KDevelop::ProjectWatcher* watcher, const QString& path)

I had typed "void AbstractFileManagerPlugin::addDirToWatcher(" before the parser realised it had something to propose ...
Comment 2 Amish Naidu 2018-10-19 16:56:22 UTC

*** This bug has been marked as a duplicate of bug 384710 ***