rust/src/libsyntax
Nicholas Nethercote c60ed5d22c Share empty Vecs more within MatcherPos::matches.
`create_matches` creates a `Vec<Rc<Vec<NamedMatch>>>`. Even though all the
inner `Vec`s are empty, each one is created separately.

This commit changes `create_matches` so it instead creates one empty inner
`Vec`, and shares it.

The commit also changes `MatcherPos::matches` to a boxed slice, because its
length doesn't change.
2018-11-01 08:43:40 +11:00
..
attr optimize unsupported literal diag message 2018-10-22 20:28:37 +08:00
diagnostics Remove OneVector 2018-09-26 10:43:37 +02:00
ext Share empty Vecs more within MatcherPos::matches. 2018-11-01 08:43:40 +11:00
parse Rollup merge of #55384 - nnethercote:better-integer_lit-float_lit, r=michaelwoerister 2018-10-29 09:47:45 +01:00
print Prefer unwrap_or_else to unwrap_or in case of function calls/allocations 2018-10-19 09:45:45 +02:00
util Remove OneVector 2018-09-26 10:43:37 +02:00
ast.rs Auto merge of #54929 - csmoe:cfg_lint, r=petrochenkov 2018-10-26 21:46:13 +00: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 fix typos in various places 2018-10-23 15:56:25 +02:00
diagnostic_list.rs Add a stub feature so we can still test E0705 2018-10-19 22:26:02 -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 lint reasons 2018-10-27 12:31:20 -07:00
fold.rs Give each PathSegment a NodeId 2018-10-26 09:48:44 +13:00
json.rs mv (mod) codemap source_map 2018-08-19 23:01:00 +02:00
lib.rs Bump to 1.31.0 and bootstrap from 1.30 beta 2018-09-27 20:52:53 -07: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 #55014 - ljedrz:lazyboye_unwraps, r=matthewjasper 2018-10-20 11:22:48 +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 Remove redundant clone 2018-10-26 12:07:39 +09:00
test_snippet.rs mv (mod) codemap source_map 2018-08-19 23:01:00 +02:00
tokenstream.rs Prefer unwrap_or_else to unwrap_or in case of function calls/allocations 2018-10-19 09:45:45 +02: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: