summary refs log tree commit diff
path: root/src/libsyntax/util
AgeCommit message (Collapse)AuthorLines
2018-06-03restore emplacement syntax (obsolete)Niko Matsakis-5/+11
2018-04-12AST/HIR: Merge field access expressions for named and numeric fieldsVadim Petrochenkov-3/+0
2018-04-06Remove more duplicated spansVadim Petrochenkov-2/+2
2018-04-03Remove all unstable placement featuresAidan Hobson Sayers-10/+4
Closes #22181, #27779
2018-03-02Replace Rc with Lrc for shared dataJohn Kåre Alsaker-3/+3
2018-01-15Move `ExprPrecedence` to `libsyntax/util/parser.rs`Esteban Küber-0/+126
2018-01-15Use single source of truth for expr precedenceEsteban Küber-61/+1
Introduce a new unified type that holds the expression precedence for both AST and HIR nodes.
2017-12-21Add GenericParam, refactor Generics in ast, hir, rustdocJonas Platte-4/+4
The Generics now contain one Vec of an enum for the generic parameters, rather than two separate Vec's for lifetime and type parameters. Additionally, places that previously used Vec<LifetimeDef> now use Vec<GenericParam> instead.
2017-12-14Use PathBuf instead of String where applicableOliver Schneider-2/+4
2017-12-02Auto merge of #46347 - raventid:did-you-mean-increase-accuracy, r=estebankbors-5/+27
Add case insensitive comparison, besides Levenstein for DYM Closes #46332 Draft version. The idea is that Levenstein does not work for some cases when we have multiple equal weights for strings. I didn't understand the case with `if found != name => Some(found)` so it means that new code does not work correctly yet. At least now I think that we might return all maximal weights from levenstein and think about next cases in priority order: 1) There is exact match -> None 2) There is exact match, but case insensitive -> Some(match) 3) There is some match from levenstein -> Some(matches.take_any) 4) There is no match -> None @estebank WDYT?
2017-12-01move comparator into +find_best_match_name+ functionJulian Kulesh-5/+27
2017-11-30Implement RFC 2128 (use_nested_groups)Pietro Albini-2/+2
This commit adds support for nested groups inside `use` declarations, such as `use foo::{bar, sub::{baz::Foo, *}};`.
2017-11-06Using `...` in expressions is now an errorBadel2-1/+2
2017-09-22Add support for `..=` syntaxAlex Burka-8/+9
Add ..= to the parser Add ..= to libproc_macro Add ..= to ICH Highlight ..= in rustdoc Update impl Debug for RangeInclusive to ..= Replace `...` to `..=` in range docs Make the dotdoteq warning point to the ... Add warning for ... in expressions Updated more tests to the ..= syntax Updated even more tests to the ..= syntax Updated the inclusive_range entry in unstable book
2017-09-07pprust: increase precedence of block-like exprsStuart Pernsteiner-11/+9
2017-09-06pprust: fix parenthesization of exprsStuart Pernsteiner-1/+105
2017-06-26Update and fix a few testsAlex Crichton-1/+1
2017-06-26Implement `quote!` and other `proc_macro` API.Jeffrey Seyfried-1/+9
2017-05-16Rollup merge of #41957 - llogiq:clippy-libsyntax, r=petrochenkovMark Simulacrum-7/+8
Fix some clippy warnings in libsyntax This is mostly removing stray ampersands, needless returns and lifetimes. Basically a lot of small changes.
2017-05-12Fix some clippy warnings in libsyntaxAndre Bogus-7/+8
This is mostly removing stray ampersands, needless returns and lifetimes.
2017-05-12Pass crate attributes in visit.rsNick Cameron-1/+1
2017-04-26Implement a file-path remapping feature in support of debuginfo and ↵Michael Woerister-7/+8
reproducible builds.
2017-04-06Introduce HashStable trait and base ICH implementations on it.Michael Woerister-0/+13
This initial commit provides implementations for HIR, MIR, and everything that also needs to be supported for those two.
2017-03-10Refactor out `ast::ItemKind::MacroDef`.Jeffrey Seyfried-5/+0
2017-03-03Fix fallout in unit tests.Jeffrey Seyfried-4/+4
2017-03-03Integrate `TokenStream`.Jeffrey Seyfried-7/+0
2017-01-22Refactor `TokenStream`.Jeffrey Seyfried-0/+50
2016-12-06annotate stricter lifetimes on LateLintPass methods to allow them to forward ↵Oliver Schneider-1/+1
to a Visitor
2016-11-21Fix fallout in `rustdoc` and tests.Jeffrey Seyfried-5/+4
2016-11-21Use `Symbol` instead of `InternedString` in the AST, HIR, and various other ↵Jeffrey Seyfried-6/+5
places.
2016-11-20Move `syntax::util::interner` -> `syntax::symbol`, cleanup.Jeffrey Seyfried-113/+3
2016-11-11Change implementation of syntax::util::SmallVector to use ↵Mark-Simulacrum-256/+61
data_structures::SmallVec.
2016-11-10syntax: don't fake a block around closures' bodies during parsing.Eduard Burtescu-2/+2
2016-10-31Changed most vec! invocations to use square bracesiirelu-3/+3
Most of the Rust community agrees that the vec! macro is clearer when called using square brackets [] instead of regular brackets (). Most of these ocurrences are from before macros allowed using different types of brackets. There is one left unchanged in a pretty-print test, as the pretty printer still wants it to have regular brackets.
2016-10-29Move `CrateConfig` from `Crate` to `ParseSess`.Jeffrey Seyfried-4/+1
2016-10-25Use `SmallVector` for `TtReader::stack`.Nicholas Nethercote-10/+40
This avoids 800,000 heap allocations when compiling html5ever. It requires tweaking `SmallVector` a little.
2016-10-13Get rid of double indirection in string interner by using `Rc<str>`Vadim Petrochenkov-25/+15
2016-09-07Refactor code out of the folder implementation for `StripUnconfigured`.Jeffrey Seyfried-0/+6
2016-07-11Factor the `RefCell` out of the `Interner`.Jeffrey Seyfried-60/+34
2016-07-11Remove `Interner<T>` and rename `StrInterner` to `Interner`.Jeffrey Seyfried-136/+13
2016-07-11Encapsulate `RcStr` in `syntax::util::interner`.Jeffrey Seyfried-56/+20
2016-06-26Rollup merge of #34339 - jseyfried:thin_vec, r=petrochenkov,ManishearthJeffrey Seyfried-0/+59
Generalize and abstract `ThinAttributes` to `ThinVec<Attribute>`.
2016-06-26Rollup merge of #34316 - jseyfried:refactor_ast_stmt, r=eddybJeffrey Seyfried-4/+0
Refactor away `ast::Decl`, refactor `ast::Stmt`, and rename `ast::ExprKind::Again` to `ast::ExprKind::Continue`.
2016-06-26Rollup merge of #33943 - jseyfried:libsyntax_cleanup, r=nrcJeffrey Seyfried-34/+34
Miscellaneous low priority cleanup in `libsyntax`.
2016-06-26Rollup merge of #34385 - cgswords:tstream, r=nrcJeffrey Seyfried-1/+2
syntax-[breaking-change] cc #31645 (Only breaking because ast::TokenTree is now tokenstream::TokenTree.) This pull request refactors TokenTrees into their own file as src/libsyntax/tokenstream.rs, moving them out of src/libsyntax/ast.rs, in order to prepare for an accompanying TokenStream implementation (per RFC 1566).
2016-06-23Move errors from libsyntax to its own crateJonathan Turner-1/+1
2016-06-21Refactored tokentrees into their own files in preparation for tokenstreams. ↵cgswords-1/+2
Modified tests to point to the new file now.
2016-06-18Auto merge of #34295 - jseyfried:cfg_decoration, r=eddybbors-0/+9
Perform `cfg` attribute processing on decorator-generated items Fixes https://users.rust-lang.org/t/unused-attribute-warning-for-custom-derive-attribute/6180. r? @nrc
2016-06-19Generalize and abstract `ThinAttributes`Jeffrey Seyfried-0/+59
2016-06-17Fix falloutJeffrey Seyfried-4/+0