mirror of
https://github.com/rust-lang/rust-analyzer
synced 2025-01-12 13:18:47 +00:00
No description
aff82e5ee1
16: Proof-of-concept SyntaxKind as enum r=matklad a=CAD97 This was the one bit about the original RFC I was most confused about. Why isn't `SyntaxKind` a normal `enum`? If it's to signify that it's non-exhaustive [`#[non_exhaustive]`](https://github.com/rust-lang/rust/issues/44109) should be used. (Or `#[doc(hidden)] __Nonexhaustive` on stable.) If it's so that more variants can be added externally, why? There's no need for that, that I can foresee. If it's to expose the `SyntaxKind` type but not any of its instances, why? This is the only actual benefit I can see of this pseudo-enum style. This diff is meant to be as non-invasive as possible, and as such reexports all symbols as they existed prior to this. It's diffed on top of the assumed-good-to-merge #15 to avoid the conflict between them. Diff without #15: < |
||
---|---|---|
docs | ||
src | ||
tests | ||
.gitignore | ||
.travis.yml | ||
appveyor.yml | ||
bors.toml | ||
Cargo.toml | ||
CONTRIBUTING.md | ||
grammar.ron | ||
LICENSE-APACHE | ||
LICENSE-MIT | ||
README.md | ||
rustfmt.toml |
libsyntax2.0
libsyntax2.0 is an experimental implementation of the corresponding RFC.
See docs
folder to learn how libsyntax2 works, and check
CONTRIBUTING.md
if you want to contribute!
License
libsyntax2 is primarily distributed under the terms of both the MIT license and the Apache License (Version 2.0).
See LICENSE-APACHE and LICENSE-MIT for details.