Details
-
Bug
-
Resolution: Done
-
P3: Somewhat important
-
Qt Creator 4.11.1
-
None
-
-
8625bbfe5a7cd9de4139a5d80f3479386c8594bd (qt-creator/qt-creator/4.11)
Description
The other day I reported QTCREATORBUG-23497 , and today I moved to Qt Creator 4.11.1 to try it out, since it was fixed, and now I see another issue. I'm going to try my best to explain the issue, and please feel free to ask for more details. I was able to reproduce this very easily on a new project.
Imagine you write this small rust program:
fn hello() {
println!("Hello, world!");
}
fn main() {
hello();
}
Given the settings suggested in QTCREATORBUG-23497 (with the setting "RLS instant per project"), let's kill RLS (with `pkill rls` in the terminal) and make it start newly after writing the code above. Now putting the typing cursor on the function call "hello();" will highlight it and highlight the function definition as well. If I press F2, it'll follow and will take me to the function definition. All great so far.
Now go ahead and add a new line before the "hello();" call, and see what happens. Now put the cursor on the function call, and no highlighting will happen. But go to the function definition and put the cursor there, and you'll see that the function call is highlighting a non-existent place at the new line.
So obviously the problem is that, on text update in the IDE, the IDE doesn't update whatever information there is about the positions of functions. This can very quickly become a mess and makes 90% of language client features unusable.
After having written the text above, I went back to Qt Creator 4.9.2, and verified that this issue is not present there with this minimal example. I'm now back to that old version.