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.

Reply via email to