]> git.lizzy.rs Git - rust.git/commit - src/tools/miri
Auto merge of #66279 - cjgillot:hashstable, r=Zoxc
authorbors <bors@rust-lang.org>
Mon, 25 Nov 2019 09:28:59 +0000 (09:28 +0000)
committerbors <bors@rust-lang.org>
Mon, 25 Nov 2019 09:28:59 +0000 (09:28 +0000)
commit582a4eaee6b3674a34aeefaa5ecad0207bac9b4b
tree6c33a566e5fc413793dba4c935ffc7b4b969b255
parent4eee955502558a049df75b4313a60cf57c885aa6
parent782cc9f65c0c19ef79bd009074e09bf0394674f4
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.
src/libsyntax/ast.rs
src/libsyntax_pos/hygiene.rs
src/libsyntax_pos/symbol.rs