rust/src/libsyntax
bors 582a4eaee6 Auto merge of #66279 - cjgillot:hashstable, r=Zoxc
Use proc-macro to derive HashStable everywhere

Hello,

A second proc-macro is added to derive HashStable for crates librustc depends on.
This proc-macro `HashStable_Generic` (to bikeshed) allows to decouple code and strip much of librustc's boilerplate.

Still, two implementations `Span` and `TokenKind` require to be placed in librustc.
The latter only depends on the `bug` macro. Advise welcome on how to sever that link.
A trait `StableHasingContextLike` has been introduced at each crate root,
in order to handle those implementations which require librustc's very `StableHashingContext`.

This overall effort allowed to remove the `impl_stable_hash_for` macro.

Each commit passes the `x.py check`.
I still have to double check there was no change in the implementation.
2019-11-25 09:28:59 +00:00
..
ast libsyntax: Unconfigure tests during normal build 2019-08-02 01:59:01 +03:00
attr Remove extern crate. 2019-11-17 22:37:16 +01:00
diagnostics Update to use new librustc_error_codes library 2019-11-14 13:05:42 +01:00
expand Review feedback: Remove more stuff! Simplify simplify simplify! 2019-11-05 14:59:29 +01:00
feature_gate Auto merge of #66671 - matthewjasper:ast-address-of, r=Centril 2019-11-25 01:20:38 +00:00
print Add raw address of expressions to the AST and HIR 2019-11-24 18:06:13 +00:00
util move syntax::parse -> librustc_parse 2019-11-10 03:57:18 +01:00
ast.rs Auto merge of #66279 - cjgillot:hashstable, r=Zoxc 2019-11-25 09:28:59 +00:00
build.rs Remove licenses 2018-12-25 21:08:33 -07:00
Cargo.toml Use proc_macro for HashStable derive in libsyntax. 2019-11-17 22:37:08 +01:00
early_buffered_lints.rs Warn if include macro fails to include entire file 2019-10-07 19:47:53 -04:00
entry.rs Rename Item.node to Item.kind 2019-09-26 18:21:48 +01:00
lib.rs Derive HashStable for TokenKind. 2019-11-23 18:52:23 +01:00
mut_visit.rs Add raw address of expressions to the AST and HIR 2019-11-24 18:06:13 +00:00
ptr.rs Remove many unnecessary trait derivations. 2019-10-21 20:59:18 +11:00
README.md rustc-guide has moved 2018-11-26 15:03:13 -06:00
sess.rs Delete ProcessCfgMod 2019-11-20 14:07:57 -05:00
show_span.rs Rename rustc_errors dependency in rust 2018 crates 2019-02-13 00:28:52 +09:00
token.rs Derive HashStable for TokenKind. 2019-11-23 18:52:23 +01:00
tokenstream.rs Use proc-macro for TokenTree. 2019-11-23 18:22:24 +01:00
visit.rs Add raw address of expressions to the AST and HIR 2019-11-24 18:06:13 +00:00

The syntax crate contains those things concerned purely with syntax that is, the AST ("abstract syntax tree"), parser, pretty-printer, lexer, macro expander, and utilities for traversing ASTs.

For more information about how these things work in rustc, see the rustc guide: