Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Roadmap #197

Closed
aochagavia opened this issue Nov 5, 2018 · 2 comments
Closed

Roadmap #197

aochagavia opened this issue Nov 5, 2018 · 2 comments

Comments

@aochagavia
Copy link
Contributor

It would be nice to have a roadmap for the future development of rust-analyzer. I am sure @matklad has some kind of vision in his head, so it would be nice to put that in a document so new contributors (myself included) have an idea of where the project is headed.

Right now it is clear from the readme that rust-analyzer wants to be a Rust compiler frontend enabling excellent IDE support. However, it is not that clear how we will get there. Which features are we missing? Can we subdivide them in tasks and create tracking issues?

Example

One of the most useful features (to me) would be autocomplete, but there are no issues about it. We could therefore create issues about implementing:

  1. Path resolution (i.e. go from a path to the place where the name is defined)
  2. Type checking

From these two, it seems that path resolution is the most developed at the moment, though I don't know if it is fully implemented. Are there cases in which we cannot obtain the definition from the path?

Regarding type checking, we need to be able to:

  1. Get the type of the expression under the cursor
  2. List the available functions for the type (which means knowing which traits are implemented by it)

Maybe we could use Chalk for the trait resolution part, though as far as I know this is an experimental library. The same goes for Polonius, which we could use when implementing the ownership system. This kind of discussion could take place in the respective issues, once we create them.

Steps to take

It would be nice to talk about the future of rust-analysis and maybe even set goals for 2019. We could do this by commenting on this issue, chatting on Discord, or through a video call. As a result of this process, we could create a bunch of issues and tracking issues for the features we want to implement.

I think the project has a huge potential and I guess many other people share this view. For those of us that would like to contribute on a regular basis, it would be useful to know the desired direction and priorities. That is why it seems worthwhile to take the time for this.

@matklad
Copy link
Member

matklad commented Nov 5, 2018

It would be nice to have a roadmap for the future development of rust-analyzer. I am sure @matklad has some kind of vision in his head, so it would be nice to put that in a document so new contributors (myself included) have an idea of where the project is headed.

Agree! The reason why I haven't done that yet is semi-arbitrary: I expected to draw a roadmap after https://internals.rust-lang.org/t/next-steps-for-rls-rustc-and-ide-support/8428 comes to some sort of the conclusion, but that never happened. I've chatted with RLS/compiler folks about how should we plan the IDE work for rust, and we've came to the conclusion that we should table this discussion at least until the 2018 edition is cut. More probably though is that such coordination will happen only in Februrary, during all hands. That all sort-of freeze my roadmap-drawing plans :(

I think we should define short-term roadmap until the February. I'll try to start the discussion about this tomorrow.

@aochagavia
Copy link
Contributor Author

Closed in #203

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants