rust/src/libsyntax
kennytm 863ed13c6c
Rollup merge of #52539 - alexcrichton:two-attrs, r=petrochenkov
rustc: Fix two custom attributes with custom derive

This commit fixes an issue where multiple custom attributes could not be fed
into a custom derive in some situations with the `use_extern_macros` feature
enabled. The problem was that the macro expander didn't consider that it was
making progress when we were deducing that attributes should be lumped in with
custom derive invocations.

The fix applied here was to track in the expander if our attribute is changing
(getting stashed away elsewhere and replaced with a new invocation). If it is
swapped then it's considered progress, otherwise behavior should remain the
same.

Closes #52525
2018-07-21 04:08:10 +08:00
..
attr Improving span of unknown lint tool error message 2018-07-04 14:28:44 +02:00
diagnostics Deny bare trait objects in in src/libsyntax 2018-07-10 21:06:26 +02:00
ext rustc: Fix two custom attributes with custom derive 2018-07-19 07:46:44 -07:00
parse Implement existential types 2018-07-18 10:53:08 +02:00
print Implement existential types 2018-07-18 10:53:08 +02:00
util Remove some tests using AST comparisons, fix other tests 2018-07-14 14:57:14 +03:00
ast.rs Implement existential types 2018-07-18 10:53:08 +02:00
build.rs rustc: Add some build scripts for librustc crates 2017-07-22 22:04:13 -07:00
Cargo.toml rustc_target: move in syntax::abi and flip dependency. 2018-04-26 17:49:16 +03:00
codemap.rs Rollup merge of #52224 - ljedrz:dyn_libsyntax, r=oli-obk 2018-07-11 12:38:39 -06:00
config.rs Deny #[cfg] and #[cfg_attr] on generic parameters. 2018-06-02 05:11:33 +08:00
diagnostic_list.rs Update error code numbers 2018-06-19 17:33:14 -07:00
entry.rs Cleanup InternedString. 2016-11-21 09:00:56 +00:00
feature_gate.rs Auto merge of #52445 - alexcrichton:wasm-import-module, r=eddyb 2018-07-20 06:40:10 +00:00
fold.rs Implement existential types 2018-07-18 10:53:08 +02:00
json.rs Deny bare trait objects in in src/libsyntax 2018-07-10 21:06:26 +02:00
lib.rs Deny bare trait objects in in src/libsyntax 2018-07-10 21:06:26 +02:00
ptr.rs Remove most of PartialEq impls from AST and HIR structures 2018-07-14 14:56:57 +03:00
README.md Replace many of the last references to readmes 2018-03-16 12:43:22 -05:00
show_span.rs use field init shorthand EVERYWHERE 2017-08-15 15:29:17 -07:00
std_inject.rs Implement #[macro_export(local_inner_macros)] 2018-06-27 13:10:16 +03:00
str.rs Inline char_at() and record_width. 2018-05-13 17:16:02 +10:00
test.rs Address comments 2018-07-14 14:57:15 +03:00
test_snippet.rs Remove the now redundant CodeMap::new_filemap_with_lines() method. 2018-06-27 14:00:34 +02:00
tokenstream.rs Remove most of Hash impls from AST and HIR structures 2018-07-14 14:57:14 +03:00
visit.rs Implement existential types 2018-07-18 10:53:08 +02: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: