

We struggle with this a lot (mostly theoretically at the moment :) ) in IntelliJ Rust.

In my OP I was referring specifically to the RLS->IDE interface which matters a great deal as I outlined above. If that is the case, then yeah, that doesn't matter hardly at all. Now I've spent x hours looking for a solution".Īfterthought: It occurs to me that you might be talking about the RLS->Racer & compiler interface instead of the RLS->IDE interface. "I updated RLS and now eclipse doesn't work. If it is constantly in flux then you have the same problems I listed above with IDE maintainers which translates to a crappy experience for the end user. This is where the interface matters a great deal. Now, if the RLS interface isn't great or needs constant maintenance, then it is useless. That all depends on a solid RLS interface.
NETBEANS ERROR PARSING FILE REDDIT UPDATE
You get a better experience in any IDE that uses RLS and all you have to do is update your version of RLS to get better analysis. With RLS as a solid interface, those headaches are removed. all have to move to the new interface in order to get benefits it provides.īut what happens if those maintainers can't or won't make these changes? The end result is that the end user suffers.
NETBEANS ERROR PARSING FILE REDDIT CODE
In other words, the maintainer of the vim plugin, the emacs plugin, the vs code plugin, the eclipse plugin, etc. While the work to integrate with a new interface may be minimal, it is distributed. And you need to understand that this is a const, and that T is actually a type, so you can show an autocompletion popup. This is quite important! First of all, you need to parse file at least somehow, to be able to find visible identifiers. PsiErrorElement:' ' expected, unexpected end of file(10,10) # look, and error! RsBaseTypeImpl(BASE_TYPE)(9,10) # and we know that `T` is type RsConstantImpl(CONSTANT)(0,10) # we understand that its a constant In contrast, here's the syntax tree produces by IntelliJ Rust for this file: FILE(0,10)

The problem is, compiler does not have any other choice because the AST type requires the type and the expression to be present. My understanding is that the parser fails to produce any parse tree for this case ( rustc -Z ast-json -Z continue-parse-after-error bails with error). Consider the following code snippet: const X: T I think there's more work to be done, starting with the parser. We'll do our best to keep these links up to date, but if we fall behind please don't hesitate to shoot us a modmail. This is not an official Rust forum, and cannot fulfill feature requests. Err on the side of giving others the benefit of the doubt.Īvoid re-treading topics that have been long-settled or utterly exhausted. Please create a read-only mirror and link that instead.Ī programming language is rarely worth getting worked up over.īe charitable in intent. If criticizing a project on GitHub, you may not link directly to the project's issue tracker. Post titles should include useful context.įor Rust questions, use the stickied Q&A thread.Īrts-and-crafts posts are permitted on weekends.Ĭriticism is encouraged, though it must be constructive, useful and actionable. For content that does not, use a text post to explain its relevance. Posts must reference Rust or relate to things using Rust. We observe the Rust Project Code of Conduct. Strive to treat others with respect, patience, kindness, and empathy.
