rust/src/libsyntax
bors 6323d9a45b Auto merge of #52355 - pietroalbini:zfeature, r=eddyb
Add the -Zcrate-attr=foo unstable rustc option

This PR adds a new unstable option to `rustc`: `-Zcrate-attr=foo`. The option can be used to inject crate-level attributes from the CLI, and it's meant to be used by tools like Crater that needs to add their own attributes to a crate without changing the source code.

The exact reason I need this is to implement "edition runs" in Crater: we need to add the preview feature flag to every crate, and editing the crates' source code on the fly might produce unexpected results, while a compiler flag is more reliable.

cc https://github.com/rust-lang-nursery/crater/issues/282 @Mark-Simulacrum
2018-07-28 23:10:10 +00:00
..
attr Add the -Zcrate-attr=foo nightly rustc flag to inject crate attributes 2018-07-27 19:51:21 +02:00
diagnostics Deny bare trait objects in in src/libsyntax 2018-07-10 21:06:26 +02:00
ext make it a migration lint 2018-07-23 21:55:51 -05:00
parse Rollup merge of #52740 - estebank:crate-name, r=petrochenkov 2018-07-28 16:24:58 +08:00
print Use slices where a vector is not necessary 2018-07-27 16:50:28 +02:00
util Remove some tests using AST comparisons, fix other tests 2018-07-14 14:57:14 +03:00
Cargo.toml rustc_target: move in syntax::abi and flip dependency. 2018-04-26 17:49:16 +03:00
README.md Replace many of the last references to readmes 2018-03-16 12:43:22 -05: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
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
early_buffered_lints.rs make it a migration lint 2018-07-23 21:55:51 -05:00
entry.rs Cleanup `InternedString`. 2016-11-21 09:00:56 +00:00
feature_gate.rs feature gate for inferring 'static lifetimes 2018-07-26 20:25:27 -04: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 globally 2018-07-25 10:25:29 +09:00
ptr.rs Remove most of `PartialEq` impls from AST and HIR structures 2018-07-14 14:56:57 +03: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 rustc: Implement tokenization of nested items 2018-07-22 08:57:31 -07:00
visit.rs Implement existential types 2018-07-18 10:53:08 +02:00

README.md

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: