]> git.lizzy.rs Git - rust.git/blob - docs/CONTRIBUTING.md
D: start documenting stuff
[rust.git] / docs / CONTRIBUTING.md
1 The project is in its early stages: contributions are welcome and
2 would be **very** helpful, but the project is not *yet* optimized for
3 contributors. Moreover, it is doubly experimental, so there's no
4 guarantee that any work here would reach production. That said, here
5 are some arias where contributions would be **especially** welcome:
6
7
8 * Designing internal data structures: RFC only outlines the
9   constraints, it's an open question how to satisfy them in the
10   optimal way. See `ARCHITECTURE.md` for current design questions.
11   
12 * Porting libsyntax parser to libsyntax2: currently libsyntax2 parses
13   only a tiny subset of Rust. This should be fixed by porting parsing
14   functions from libsyntax one by one.
15   
16 * Writing validators: by design, libsyntax2 is very lax about the
17   input. For example, the lexer happily accepts unclosed strings. The
18   idea is that there should be a higher level visitor, which walks the
19   syntax tree after parsing and produces all the warnings. Alas,
20   there's no such visitor yet :( Would you like to write one? :)
21   
22 * Creating tests: it would be tremendously helpful to read each of
23   libsyntax and libsyntax2 parser functions and crate a small separate
24   test cases to cover each and every edge case.
25   
26 * Building stuff with libsyntax2: it would be really cool to compile
27   libsyntax2 to WASM and add *client side* syntax validation to rust
28   playground!
29
30
31 Do take a look at the issue tracker, and try to read other docs in
32 this folder.