https://bugs.kde.org/show_bug.cgi?id=255706
--- Comment #14 from Nathaniel <digitalpion...@gmail.com> --- I can confirm Piotr's results. In version 5.6.2, the renaming behavior seems improved, but it's still not optimal. Working with the following code: ```c++ struct Foo { void bar(int baz); }; void Foo::bar(int baz) { int quux = baz; } ``` We have three different kinds of reference to `baz`: declaration, definition, and usage. Optimal behavior would be that invoking auto-rename on any of the three would rename the other two without any extra steps. Observed behavior is that renaming the definition or usage immediately renames the other of those two, i.e. renaming definition renames usage and vice versa. In both cases, a short delay later there is an offer to update the declaration as well. This is sub-optimal, as there is a delay and extra step involved, but it is not a bug so much as a usability issue. I suppose there may be a use case for having the declaration not match the definition/usage, but if they were the same before, they should definitely be the same after without further question. Renaming the *declaration* leads to issues, though. If I rename the declaration to `bazz`, initially it simply renames the declaration and not the definition or usage, which leaves the code in a valid-but-eccentric state. A short delay later comes the offer to adapt the signature, and if accepted, the code comes out like so: ```c++ struct Foo { void Foo::bar(int bazz) ; }; void Foo::bar(int baz) { int quux = bazz; } ``` So the declaration is munged and no longer valid, and the usage is updated, but the definition is not, and the code is no longer valid. This is a bug. It's interesting to note that the declaration now looks like a valid definition, which, for a method, is not a valid declaration, so the signature assistant may be mistaking the site of invocation as being the definition rather than the declaration? In any event, the issue does persist. -- You are receiving this mail because: You are watching all bug changes.