aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* | | Merge #2201bors[bot]2019-11-105-6/+112
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2201: Resolve core types r=matklad a=Matthias247 This adds support for completion and goto definition of types defined within the "core" crate. The core crate is added as a dependency to each crate in the project. The core crate exported it's own prelude. This caused now all crates to inherit the core crates prelude instead of the std crates. In order to avoid the problem the prelude resolution has been changed to overwrite an already resolved prelude if this was set to a crate named core - in order to pick a better prelude like std. Fixes #2199 Co-authored-by: Matthias Einwag <[email protected]>
| * | Overwrite the prelude with one defined in a later dependencyMatthias Einwag2019-11-102-9/+8
| | | | | | | | | | | | | | | | | | | | | This removes the special casing for the "core" prelude. Whenever a later dependency also exports a prelude, it will replace the formerly imported prelude. The utilized prelude then depends purely on import order.
| * | Add tests for resolving types in core and std preludesMatthias Einwag2019-11-102-0/+93
| | |
| * | Resolve core typesMatthias Einwag2019-11-093-2/+16
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds support for completion and goto definition of types defined within the "core" crate. The core crate is added as a dependency to each crate in the project. The core crate exported it's own prelude. This caused now all crates to inherit the core crates prelude instead of the std crates. In order to avoid the problem the prelude resolution has been changed to overwrite an already resolved prelude if this was set to a crate named core - in order to pick a better prelude like std. Fixes #2199
* | Merge #2198bors[bot]2019-11-0910-53/+51
|\ \ | |/ |/| | | | | | | | | | | 2198: Unfork struct and union ids r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * Unfork struct and union idsAleksey Kladov2019-11-0910-53/+51
|/
* Merge #2197bors[bot]2019-11-097-78/+92
|\ | | | | | | | | | | | | | | 2197: Remove typed macro parsing API r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * Remove typed macro parsing APIAleksey Kladov2019-11-096-72/+84
| | | | | | | | | | We do type-erasure on every path anyway, so it doesn't make much sense to duplicate this function for every type
| * Minor cleanupAleksey Kladov2019-11-091-6/+8
|/
* Merge #2169bors[bot]2019-11-098-101/+305
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | 2169: MBE: Mapping spans for goto definition r=matklad a=edwin0cheng Currently, go to definition gives the wrong span in MBE. This PR implement a mapping mechanism to fix it and it could be used for future MBE hygiene implementation. The basic idea of the mapping is: 1. When expanding the macro, generated 2 `TokenMap` which maps the macro args and macro defs between tokens and input text-ranges. 2. Before converting generated `TokenTree` to `SyntaxNode`, generated a `ExpandedRangeMap` which is a mapping between token and output text-ranges. 3. Using these 3 mappings to construct an `ExpansionInfo` which can map between input text ranges and output text ranges. Co-authored-by: Edwin Cheng <[email protected]>
| * Remove map_ranges in RevTokenMapEdwin Cheng2019-11-094-66/+35
| |
| * Refactor and simpfilyEdwin Cheng2019-11-085-89/+42
| |
| * Refactor and add more commentsEdwin Cheng2019-11-082-58/+52
| |
| * Fix formattingEdwin Cheng2019-11-051-1/+1
| |
| * Refactor a bitEdwin Cheng2019-11-042-11/+7
| |
| * Use macro_rules shift to map text rangesEdwin Cheng2019-11-044-51/+26
| |
| * Use ? and destructing to simplifed long codeEdwin Cheng2019-11-041-19/+17
| |
| * Rename and fix typosEdwin Cheng2019-11-044-24/+43
| |
| * Add note for recurseive macro generated codeEdwin Cheng2019-11-041-0/+1
| |
| * Add testsEdwin Cheng2019-11-041-0/+40
| |
| * Use new expansion feature in goto_definitionEdwin Cheng2019-11-042-45/+114
| |
| * Remove dbg!Edwin Cheng2019-11-042-5/+0
| |
| * Fixed bug in ExpandedRangeMapEdwin Cheng2019-11-041-34/+16
| |
| * Add parent_expansion to HirFileIdEdwin Cheng2019-11-041-0/+19
| |
| * Add macro_expansion_info in hir_expandEdwin Cheng2019-11-045-47/+212
| |
| * Add map_id to TokenIdEdwin Cheng2019-11-042-5/+34
| |
* | Merge #2196bors[bot]2019-11-084-281/+304
|\ \ | | | | | | | | | | | | | | | | | | | | | 2196: Touch up nameres doc comment r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * | Touch up nameres doc commentAleksey Kladov2019-11-081-7/+6
| | |
| * | Reduce visibilityAleksey Kladov2019-11-081-9/+9
| | |
| * | Extract path resolution submoduleAleksey Kladov2019-11-083-243/+269
| | |
| * | SimplifyAleksey Kladov2019-11-082-7/+5
| | | | | | | | | | | | | | | There's only one call-site for the function, so it seems fine to inline
| * | Reduce visibilityAleksey Kladov2019-11-081-23/+23
|/ /
* | Merge #2194bors[bot]2019-11-073-61/+66
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2194: Update crates r=matklad a=kjeremy Removes nodrop and extra arrayvec We have an extra crossbeam-queue and crossbeam-utils left but those should drop once rayon accepts https://github.com/rayon-rs/rayon/pull/704 Co-authored-by: kjeremy <[email protected]>
| * | Update crateskjeremy2019-11-073-61/+66
|/ / | | | | | | | | | | | | Removes nodrop and extra arrayvec We have an extra crossbeam-queue and crossbeam-utils left but those should drop once rayon accepts https://github.com/rayon-rs/rayon/pull/704
* | Merge #2193bors[bot]2019-11-071-3/+3
|\ \ | | | | | | | | | | | | | | | | | | | | | 2193: cargo xtask format with rust 1.39 r=matklad a=kjeremy Needed to pass tests on latest stable Co-authored-by: kjeremy <[email protected]>
| * | cargo xtask format with 1.39kjeremy2019-11-071-3/+3
|/ /
* | Merge #2179bors[bot]2019-11-065-14/+111
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2179: Use HirDatabase to compute `is_deprecated` r=matklad a=martskins This PR fixes #2167 by introducing `attributes_query` and adding `fn attrs(&self, def: crate::AttrDef) -> Option<Arc<[Attr]>>;` to the `DefDatabase` trait. I'm a little concerned about the two spots in `attributes_query` where code is repeated, but I couldn't figure out a way to avoid that, so.. I welcome suggestions :smile: Co-authored-by: Martin Asquino <[email protected]>
| * | HirDatabase stored attributesMartin Asquino2019-11-045-14/+111
| | |
* | | Merge #2191bors[bot]2019-11-061-52/+57
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2191: Cleanup complete_postfix r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * | | Cleanup complete_postfixAleksey Kladov2019-11-061-52/+57
|/ / /
* | | Merge #2188bors[bot]2019-11-061-2/+6
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2188: Ignore line-endings when checking generated files for freshness r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * | | Ignore line-endings when checking generated files for freshnessAleksey Kladov2019-11-061-2/+6
|/ / / | | | | | | | | | closes #2184
* | | Merge #2187bors[bot]2019-11-051-12/+21
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2187: Update smallvec to avoid UB and cc while we're at it r=kjeremy a=kjeremy See: https://github.com/servo/rust-smallvec/releases/tag/v0.6.13 Co-authored-by: kjeremy <[email protected]>
| * | | Update smallvec to avoid UB and cc while we're at itkjeremy2019-11-051-12/+21
|/ / /
* | | Merge #2185bors[bot]2019-11-052-11/+11
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2185: Bump psm, console, indicatif r=kjeremy a=kjeremy Co-authored-by: kjeremy <[email protected]>
| * | | Bump psm, console, indicatifkjeremy2019-11-052-11/+11
|/ / /
* | | Merge #2177bors[bot]2019-11-041-2/+2
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2177: Reduce visibility r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * | | Reduce visibilityAleksey Kladov2019-11-041-2/+2
|/ / /
* | | Merge #2176bors[bot]2019-11-049-26/+29
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2176: Move Namespace enum closer to usage r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * | | Move Namespace enum closer to usageAleksey Kladov2019-11-049-26/+29
| | | |