aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* | | Merge #8304bors[bot]2021-04-037-5/+67
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8304: Support the new `panic!()` macro r=jonas-schievink a=jonas-schievink Includes a minor fixup to macro 2.0 parsing. bors r+ Co-authored-by: Jonas Schievink <[email protected]>
| * | | Support `#[rustc_builtin_macro = "builtin_name"]`Jonas Schievink2021-04-031-1/+11
| | | |
| * | | Implement edition-dependent builtin `panic!` macroJonas Schievink2021-04-033-2/+26
| | | |
| * | | Allow `,` to delimit macro 2.0 rulesJonas Schievink2021-04-033-2/+30
|/ / /
* | | Merge #8303bors[bot]2021-04-031-9/+46
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8303: Allow interning strings r=jonas-schievink a=jonas-schievink We don't use it yet, that's a bit more complicated. bors r+ Co-authored-by: Jonas Schievink <[email protected]>
| * | | Allow interning stringsJonas Schievink2021-04-031-9/+46
|/ / /
* | | Merge #8298bors[bot]2021-04-021-5/+2
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8298: Stop using an upgradeable read lock in interning r=jonas-schievink a=jonas-schievink Only one upgradeable read lock can be handed out at the same time, and we never acquire a non-upgradeable read lock, so this has no benefit over just using a write lock in the first place. bors r+ Co-authored-by: Jonas Schievink <[email protected]>
| * | | Stop using an upgradeable read lock in interningJonas Schievink2021-04-021-5/+2
|/ / / | | | | | | | | | | | | | | | Only one upgradeable read lock can be handed out at the same time, and we never acquire a non-upgradeable read lock, so this has no benefit over just using a write lock in the first place.
* | | Merge #8297bors[bot]2021-04-022-14/+58
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8297: Only populate prelude for crate-level DefMaps r=jonas-schievink a=jonas-schievink Fixes https://github.com/rust-analyzer/rust-analyzer/issues/8281 bors r+ Co-authored-by: Jonas Schievink <[email protected]>
| * | | Only populate prelude for crate-level DefMapsJonas Schievink2021-04-022-14/+58
|/ / /
* | | Merge #8284bors[bot]2021-04-0215-136/+230
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8284: Reduce memory usage by using global `Arc`-based interning r=jonas-schievink a=jonas-schievink This saves around 50 mb when running `analysis-stats` on r-a itself. Not a lot, but this infra can be easily reused to intern more stuff. Co-authored-by: Jonas Schievink <[email protected]>
| * | | Remove `?Sized` on `PartialEq`/`Eq` implsJonas Schievink2021-04-021-3/+5
| | | |
| * | | Split `Intern::drop` into hot and cold pathJonas Schievink2021-04-021-16/+23
| | | |
| * | | Remove unnecessary region, relax `Sized` boundsJonas Schievink2021-04-011-16/+12
| | | |
| * | | Intern Attr, MacroCall and Path componentsJonas Schievink2021-04-017-17/+21
| | | |
| * | | Global TypeRef/TraitRef interningJonas Schievink2021-04-0111-120/+205
| | | |
* | | | Merge #8291bors[bot]2021-04-021-1/+1
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8291: Put the revision in the startup message r=jonas-schievink a=lf- Co-authored-by: Jade <[email protected]>
| * | | | Put the revision in the logged startup messageJade2021-04-021-1/+1
| | | | |
* | | | | Merge #8287bors[bot]2021-04-021-36/+33
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8287: Don't allocate in `associated_type_shorthand_candidates` r=Veykril a=Veykril Co-authored-by: Lukas Wirth <[email protected]>
| * | | | | Don't allocate in `associated_type_shorthand_candidates`Lukas Wirth2021-04-021-36/+33
| | | | | |
* | | | | | Merge #8294bors[bot]2021-04-021-0/+2
|\ \ \ \ \ \ | |_|_|_|/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8294: minor: add profile call for resolve_obligations r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | | | minor: add profile call for resolve_obligationsAleksey Kladov2021-04-021-0/+2
|/ / / / /
* | | | | Merge #8293bors[bot]2021-04-021-1/+40
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8293: internal: document style for helper functions and variables r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | | | internal: document style for helper functions and variablesAleksey Kladov2021-04-021-1/+40
| | | | | |
* | | | | | Merge #8285bors[bot]2021-04-024-8/+26
|\ \ \ \ \ \ | |/ / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8285: Don't recheck obligations if we have learned nothing new r=matklad a=flodiebold This is just the most trivial check: If no inference variables have been updated, and there are no new obligations, we can just skip trying to solve them again. We could be smarter about it, but this already helps quite a bit, and I don't want to touch this too much before we replace the inference table by Chalk's. Fixes #8263 (well, improves it quite a bit). Co-authored-by: Florian Diebold <[email protected]>
| * | | | | Don't recheck obligations if we have learned nothing newFlorian Diebold2021-04-014-8/+26
| | |_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is just the most trivial check: If no inference variables have been updated, and there are no new obligations, we can just skip trying to solve them again. We could be smarter about it, but this already helps quite a bit, and I don't want to touch this too much before we replace the inference table by Chalk's. Fixes #8263 (well, improves it quite a bit).
* | | | | Merge #8292bors[bot]2021-04-021-2/+2
|\ \ \ \ \ | |_|_|/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8292: internal: document Cargo.lock maintenance process r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | | internal: document Cargo.lock maintenance processAleksey Kladov2021-04-021-2/+2
| | | | |
* | | | | Merge #8265bors[bot]2021-04-012-47/+192
|\ \ \ \ \ | |_|_|/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8265: Improve rustc diagnostic mapping r=jonas-schievink a=jonas-schievink Try to mirror rustc diagnostics more closely by: * Emitting hint-level diagnostics at *all* macro invocation sites that caused the diagnostic * Previously we emitted a copy of the diagnostic (not at hint level) at the last macro invocation site only * Emitting the original diagnostic inside the macro, if it was caused by a macro * Always including related information pointing to the invocation site or the macro, respectively (the old code contained a bug that would sometimes omit it) Fixes https://github.com/rust-analyzer/rust-analyzer/issues/8260 ![screenshot-2021-03-30-19:34:56](https://user-images.githubusercontent.com/1786438/113031484-1266a600-918f-11eb-9164-fed01c8ba37e.png) ![screenshot-2021-03-30-19:35:10](https://user-images.githubusercontent.com/1786438/113031486-12ff3c80-918f-11eb-8f15-9d7f23b69653.png) Co-authored-by: Jonas Schievink <[email protected]> Co-authored-by: Jonas Schievink <[email protected]>
| * | | | Check for and skip dummy macro filesJonas Schievink2021-04-012-120/+16
| | | | |
| * | | | Adjust message when pointing at location in macroJonas Schievink2021-04-011-2/+10
| | | | |
| * | | | Search for a suitable primary locationJonas Schievink2021-03-311-9/+27
| | | | |
| * | | | Rename `convert_location` -> `location`Jonas Schievink2021-03-311-11/+11
| | | | |
| * | | | Improve rustc diagnostic mappingJonas Schievink2021-03-303-49/+272
| | | | |
* | | | | Merge #8283bors[bot]2021-04-015-7/+96
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8283: Resolve associated types r=flodiebold a=Veykril Prior we were only resolving paths until the first type was found, then discarding the result if the path wasn't fully consumed. That of course causes associated types to not resolve. Fixes #5003 Co-authored-by: Lukas Wirth <[email protected]>
| * | | | | Resolve associated types with type anchorsLukas Wirth2021-04-013-12/+42
| | | | | |
| * | | | | Resolve associated typesLukas Wirth2021-04-014-5/+64
| | | | | |
* | | | | | Merge #8286bors[bot]2021-04-011-1/+2
|\ \ \ \ \ \ | |_|_|_|/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8286: Include remaining memory in memory usage stats r=jonas-schievink a=jonas-schievink bors r+ Co-authored-by: Jonas Schievink <[email protected]>
| * | | | | Include remaining memory in memory usage statsJonas Schievink2021-04-011-1/+2
|/ / / / /
* | | | | Merge #8274bors[bot]2021-04-012-0/+6
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8274: Adding a few more gifs and screenshots for features in manual r=Veykril a=MozarellaMan Related #8267,#6539. Gifs are [here](https://github.com/rust-analyzer/rust-analyzer/issues/6539#issuecomment-809574840) Finishing up the last PR, for the last two features that didn't have a visual example. For syntax highlighting, I wasn't able to find a theme that displayed the difference between an enum and struct, but I only tried a few apart from the default so there could be one out there! e.g., with the default light theme, `Ord` and `Ordering` in `use std::cmp::{Ord, Ordering}` had the same highlight colour. So I just went with displaying `mut` items being underlined. Co-authored-by: Ayomide Bamidele <[email protected]>
| * | | | | Additional syntax highlighting screenshot in manualAyomide Bamidele2021-03-311-0/+1
| | | | | |
| * | | | | Gif of "let = " typing assistAyomide Bamidele2021-03-311-0/+1
| | | | | |
| * | | | | Gifs and screenshots for features in manual (syntax highlighting and typing)Ayomide Bamidele2021-03-312-0/+4
| |/ / / /
* | | | | Merge #8276bors[bot]2021-03-312-0/+32
|\ \ \ \ \ | |/ / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8276: Fix block inner item defined in macro r=jonas-schievink a=edwin0cheng Fixes #8229 r? @jonas-schievink Co-authored-by: Edwin Cheng <[email protected]>
| * | | | Fix block inner item defined in macroEdwin Cheng2021-03-312-0/+32
|/ / / /
* | | | Merge #8210bors[bot]2021-03-315-6/+179
|\ \ \ \ | |_|/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | 8210: Implement "Extract type alias" assist r=jonas-schievink a=jonas-schievink Co-authored-by: Jonas Schievink <[email protected]> Co-authored-by: Jonas Schievink <[email protected]>
| * | | Don't use snippetsJonas Schievink2021-03-292-19/+14
| | | |
| * | | Use `find_node_at_range`Jonas Schievink2021-03-292-26/+7
| | | |
| * | | Use `const` instead of `let`Jonas Schievink2021-03-271-1/+1
| | | |
| * | | Snippet support in extract_type_aliasJonas Schievink2021-03-272-15/+26
| | | |