Find a file
bors[bot] aff82e5ee1 Merge #16
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: <4244948c6b>
Just `src/syntax_kinds.rs`: <4244948c6b (diff-8f0d69eb4fe0148851505f787b6fd3bb)>
2018-01-28 08:07:56 +00:00
docs Brush up CONTRIBUTING.md 2018-01-28 00:34:16 +03:00
src Convert SyntaxKind to an enum 2018-01-27 21:52:22 -05:00
tests Normalize test newlines 2018-01-27 19:19:53 -05:00
.gitignore Rename 2018-01-01 17:21:53 +03:00
.travis.yml The last of the Masters 2018-01-28 03:23:05 +03:00
appveyor.yml The last of the Masters 2018-01-28 03:23:05 +03:00
bors.toml The last of the Masters 2018-01-28 03:23:05 +03:00
Cargo.toml Enforce rustfmt format 2018-01-27 18:31:23 -05:00
CONTRIBUTING.md Fix link 2018-01-28 00:35:17 +03:00
grammar.ron G: struct flavors 2018-01-13 22:00:26 +03:00
LICENSE-APACHE Licenses 2018-01-10 22:47:04 +03:00
LICENSE-MIT Licenses 2018-01-10 22:47:04 +03:00
README.md Add appveyor badge 2018-01-28 03:15:30 +03:00
rustfmt.toml Enforce rustfmt format 2018-01-27 18:31:23 -05:00

libsyntax2.0

Join the chat at https://gitter.im/libsyntax2/Lobby Build Status Build status

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.