aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Merge #8323bors[bot]2021-04-042-6/+8
|\ | | | | | | | | | | | | | | 8323: Only remember blocks that have a DefMap r=jonas-schievink a=jonas-schievink bors r+ Co-authored-by: Jonas Schievink <[email protected]>
| * Only remember blocks that have a DefMapJonas Schievink2021-04-042-6/+8
|/
* Merge #8322bors[bot]2021-04-044-5/+14
|\ | | | | | | | | | | | | | | 8322: Access a body's block def maps via a method r=jonas-schievink a=jonas-schievink bors r+ Co-authored-by: Jonas Schievink <[email protected]>
| * Access a body's block def maps via a methodJonas Schievink2021-04-044-5/+14
| |
* | Merge #8321bors[bot]2021-04-042-13/+38
|\ \ | |/ |/| | | | | | | | | | | 8321: Use exhaustive matches in shrink_to_fit impls r=jonas-schievink a=jonas-schievink bors r+ Co-authored-by: Jonas Schievink <[email protected]>
| * Use exhaustive matches in shrink_to_fit implsJonas Schievink2021-04-042-13/+38
|/
* Merge #8320bors[bot]2021-04-0411-41/+32
|\ | | | | | | | | | | | | | | | | | | 8320: Make `ast_to_token_tree` infallible r=jonas-schievink a=jonas-schievink It could never return `None`, so reflect that in the return type bors r+ Co-authored-by: Jonas Schievink <[email protected]>
| * Make `ast_to_token_tree` infallibleJonas Schievink2021-04-0411-41/+32
|/ | | | It could never return `None`, so reflect that in the return type
* Merge #8319bors[bot]2021-04-041-9/+1
|\ | | | | | | | | | | | | | | | | | | 8319: Glob-reexport hir_def database types r=jonas-schievink a=jonas-schievink Avoids having to constantly adjust this list bors r+ Co-authored-by: Jonas Schievink <[email protected]>
| * Glob-reexport hir_def database typesJonas Schievink2021-04-041-9/+1
|/
* Merge #8318bors[bot]2021-04-034-1/+48
|\ | | | | | | | | | | | | | | | | | | 8318: Use shrink_to_fit to reduce DefMap sizes r=jonas-schievink a=jonas-schievink Especially `block_def_map` can overallocate when there's not a lot of items in the `DefMap`. This saves around 10 MB during analysis-stats. Not too much, but a cheap win. bors r+ Co-authored-by: Jonas Schievink <[email protected]>
| * Use shrink_to_fit to reduce DefMap sizesJonas Schievink2021-04-034-1/+48
|/
* Merge #8315bors[bot]2021-04-0312-75/+128
|\ | | | | | | | | | | | | | | | | | | 8315: Try to reduce ItemTree size further r=jonas-schievink a=jonas-schievink This was mostly a failed experiment, but still seems like the right thing to do. Memory reduction is mostly negligible. bors r+ Co-authored-by: Jonas Schievink <[email protected]>
| * Use bitflags to compress function propertiesJonas Schievink2021-04-0311-71/+120
| | | | | | | | Very minor savings, only 1 MB or so
| * Intern `ModPath` in `Import`Jonas Schievink2021-04-033-4/+8
|/ | | | Minor savings only
* Merge #8312bors[bot]2021-04-031-14/+14
|\ | | | | | | | | | | | | | | 8312: cargo update r=kjeremy a=kjeremy Co-authored-by: Jeremy Kolb <[email protected]>
| * cargo updateJeremy Kolb2021-04-031-14/+14
|/
* Merge #8310bors[bot]2021-04-0317-75/+73
|\ | | | | | | | | | | | | | | 8310: Rename Ty::interned to Ty::kind r=flodiebold a=flodiebold ... since that's the actual method on Chalk side that matches the signature. Co-authored-by: Florian Diebold <[email protected]>
| * Rename Ty::interned to Ty::kindFlorian Diebold2021-04-0317-75/+73
|/ | | | ... since that's the actual method on Chalk side that matches the signature.
* Merge #8309bors[bot]2021-04-0317-161/+323
|\ | | | | | | | | | | | | | | | | | | 8309: Introduce `GenericArg` like in Chalk r=flodiebold a=flodiebold Plus some more adaptations to Substitution. Lots of `assert_ty_ref` that we should revisit when introducing lifetime/const parameters. Co-authored-by: Florian Diebold <[email protected]>
| * Introduce `GenericArg` like in ChalkFlorian Diebold2021-04-0317-161/+323
|/ | | | | | | Plus some more adaptations to Substitution. Lots of `assert_ty_ref` that we should revisit when introducing lifetime/const parameters.
* Merge #8307bors[bot]2021-04-033-3/+33
|\ | | | | | | | | | | | | | | | | | | 8307: Allow include! an empty content file r=edwin0cheng a=edwin0cheng fixes #8306 bors r+ Co-authored-by: Edwin Cheng <[email protected]>
| * Allow include! an empty content fileEdwin Cheng2021-04-033-3/+33
|/
* Merge #8305bors[bot]2021-04-031-2/+16
|\ | | | | | | | | | | | | | | | | | | 8305: Fix joinLines panic if run on the empty last line r=edwin0cheng a=edwin0cheng fixes #8299 bors r+ Co-authored-by: Edwin Cheng <[email protected]>
| * Fix joinLines panic if run on the empty last lineEdwin Cheng2021-04-031-2/+16
|/
* 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]>