aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* More TyBuilder useFlorian Diebold2021-04-041-23/+15
|
* Add and start using TraitRef and ProjectionTy buildersFlorian Diebold2021-04-046-39/+48
|
* Move Ty::builtin to TyBuilderFlorian Diebold2021-04-043-20/+20
|
* Add TyBuilder::adtFlorian Diebold2021-04-044-45/+104
|
* Move Ty::fn_ptr to TyBuilderFlorian Diebold2021-04-042-11/+12
|
* Add TyBuilder::unit() and TyExt::is_unit()Florian Diebold2021-04-047-25/+39
|
* Add TyBuilderFlorian Diebold2021-04-041-0/+6
|
* Merge #8324bors[bot]2021-04-041-1/+11
|\ | | | | | | | | | | | | | | | | | | 8324: Add `Body::shrink_to_fit` r=jonas-schievink a=jonas-schievink Saves ~15 MB bors r+ Co-authored-by: Jonas Schievink <[email protected]>
| * Add `Body::shrink_to_fit`Jonas Schievink2021-04-041-1/+11
| |
* | 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
| |