Bug 140966 - implementation declaration broken with namespaces
Summary: implementation declaration broken with namespaces
Status: RESOLVED FIXED
Alias: None
Product: kdevelop
Classification: Applications
Component: Language Support: CPP (old) (show other bugs)
Version: 3.4.0
Platform: Ubuntu Linux
: NOR normal
Target Milestone: ---
Assignee: kdevelop-bugs-null
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-01-31 18:39 UTC by Andrea Rizzi
Modified: 2008-07-06 16:10 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Andrea Rizzi 2007-01-31 18:39:07 UTC
Version:           3.4.0 (using KDE KDE 3.5.5)
Installed from:    Ubuntu Packages

The switching correct identification of implementaion/declartion of functions is broken with namespace.
E.g. function declared in .h as 
std::vector<int> foo(std::vector<int>);

an then implemented in .cpp as
using namespace std;
vector<int> foo(vector<int>)
{
}

are not correctly "paired". The strange thing is that sometimes it seems it is able to understand that they are the same function, sometimes it doesnt.
Once the function is recognized, by adding std:: in the .cpp,  even removing the ::std the functions stays paired.
Comment 1 Andreas Pakulat 2008-07-06 15:54:10 UTC
still present in kdevelop4
Comment 2 David Nolden 2008-07-06 16:10:36 UTC
In kdevelop-4, this only happens when the involved types are unresolved(then only the strings are compared). If they are resolved(which should always be the case when everything was found), then they are paired  correctly.