Frustrated by the lack of a real language reference


I find the lack of a compact language reference a real hindrance to learning Rust. I really need one place I can find all of the potential components of, say, an “impl” or “struct” declaration. I find myself spending too much time getting syntax right, which steals time (and iteration speed) from experimenting with the language semantics.

Additionally, the lack of consistent naming of the components of a statement makes searching more difficult that it has to be. For example, what are the type parameters declared in an impl declaration called?

impl <X,Y> Foo { …

Please tell me there’s annotated BNF or the equivalent somewhere that I haven’t been clever enough to find.

I expected to spend a lot of time wrestling with the type system (especially with respect to borrowing). I didn’t expect to find it so difficult to write lexically valid code. I’m actually finding Rust more difficult to learn than Haskell because of this.


But not complete yet.


Oh, thank you, thank you, thank you!


The reference itself has been getting tons of updates with grammar in each section.