gdnative-book icon indicating copy to clipboard operation
gdnative-book copied to clipboard

Documentation on rust-analyzer seems outdated / anything to improve integration?

Open bluenote10 opened this issue 2 years ago • 7 comments

The section How do I get auto-completion with rust-analyzer? seems outdated, because rust-analyzer.cargo.loadOutDirsFromCheck no longer exists.

In practice this is impacting my productivity quite a lot, because auto-completion within a native class exported function doesn't seem to work at all. Often, my IDE is in a state reporting simply "all broken"

image

... and if this happens when I'm having a weak moment it can take a while to spot the actual error.

To avoid getting impacted by this issue I have now started to implement more complex methods as free floating functions like

fn process(this: &mut MyClass, delta: f64) -> Option<()> {
    // ...
}

and forward calls from the methods, which is of course unnecessary boilerplate.


To narrow down the problem we probably need to answer the questions:

  1. Is this just something broken with my setup, or is everyone using rust-analyzer facing these issues?

  2. If it is setup related, what are the tricks to get it going, which we could update in the book?

  3. If it turns out that it is fundamentally not working, the question may be if we can do something on library / macro side to improve it. Following the links posted by the rust-analyzer maintainer leads to a similar issue for tokio-tracing, caused by the usage of syn and this proposal to solve it on their side. @Bromeon Is this proposal applicable to godot-rust as well?

bluenote10 avatar Nov 27 '21 17:11 bluenote10