rust/src/libsyntax
bors 287187230b Auto merge of #53693 - scottmcm:marker-trait-attribute, r=nikomatsakis
Support an explicit annotation for marker traits

From the tracking issue for rust-lang/rfcs#1268:
> It seems obvious that we should make a `#[marker]` annotation. ~ https://github.com/rust-lang/rust/issues/29864#issuecomment-368959441

This PR allows you to put `#[marker]` on a trait, at which point:
- [x] The trait must not have any items ~~All of the trait's items must have defaults~~
- [x] Any impl of the trait must be empty (not override any items)
- [x] But impls of the trait are allowed to overlap

r? @nikomatsakis
2018-09-25 03:42:46 +00:00
..
attr Auto merge of #53902 - dtolnay:group, r=petrochenkov 2018-09-09 13:27:44 +00:00
diagnostics Use optimized SmallVec implementation 2018-08-23 10:45:53 +03:00
ext Auto merge of #54241 - vi:suggest_with_applicability, r=estebank 2018-09-20 06:34:22 +00:00
parse Fixed off-by-one span. 2018-09-23 14:18:34 +02:00
print Auto merge of #53815 - F001:if-let-guard, r=petrochenkov 2018-09-01 20:31:29 +00:00
util Add some unit tests for find_best_match_for_name 2018-09-11 08:31:47 +02:00
ast.rs Introduce Custom Test Frameworks 2018-09-04 22:33:00 -07:00
build.rs rustc: Add some build scripts for librustc crates 2017-07-22 22:04:13 -07:00
Cargo.toml Use optimized SmallVec implementation 2018-08-23 10:45:53 +03:00
config.rs Whitespace fix again. 2018-09-17 20:26:05 +03:00
diagnostic_list.rs Stabilize 'attr_literals' feature. 2018-08-23 19:06:07 -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 Auto merge of #53693 - scottmcm:marker-trait-attribute, r=nikomatsakis 2018-09-25 03:42:46 +00:00
fold.rs Track distinct spans for open and close delimiter 2018-09-08 19:01:48 -07:00
json.rs mv (mod) codemap source_map 2018-08-19 23:01:00 +02:00
lib.rs Merge indexed_set.rs into bitvec.rs, and rename it bit_set.rs. 2018-09-18 07:08:09 +10:00
ptr.rs Temporarily prohibit proc macro attributes placed after derives 2018-09-16 19:51:41 +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
source_map.rs Auto merge of #53949 - estebank:unclosed-delim, r=nikomatsakis 2018-09-09 01:36:58 +00:00
std_inject.rs mv codemap source_map 2018-08-19 23:01:01 +02:00
str.rs Inline char_at() and record_width. 2018-05-13 17:16:02 +10:00
test.rs Move #[test_case] to a syntax extension 2018-09-04 22:33:23 -07:00
test_snippet.rs mv (mod) codemap source_map 2018-08-19 23:01:00 +02:00
tokenstream.rs Track distinct spans for open and close delimiter 2018-09-08 19:01:48 -07:00
visit.rs Auto merge of #53815 - F001:if-let-guard, r=petrochenkov 2018-09-01 20:31:29 +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: