aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_hir_ty/src/db.rs
Commit message (Collapse)AuthorAgeFilesLines
* Rename StructField -> FieldAleksey Kladov2020-04-251-2/+2
|
* Update Chalk, and cache Chalk env elaboration through a queryFlorian Diebold2020-04-201-0/+7
| | | | This should fix some of the worst performance problems.
* Look up impls by self typeFlorian Diebold2020-04-111-2/+7
| | | | | This speeds up inference in analysis-stats by ~30% (even more with the recursive solver).
* Cleanup memory usage statsAleksey Kladov2020-03-251-0/+1
|
* Use `dyn Trait` for working with databseAleksey Kladov2020-03-161-2/+2
| | | | | | | It improves compile time in `--release` mode quite a bit, it doesn't really slow things down and, conceptually, it seems closer to what we want the physical architecture to look like (we don't want to monomorphise EVERYTHING in a single leaf crate).
* Normalize waiting queries namesAleksey Kladov2020-03-061-6/+6
|
* Don't reuse the Chalk solverFlorian Diebold2020-03-061-8/+0
| | | | | This slows down analysis-stats a bit (~5% in my measurement), but improves incremental checking a lot because we can reuse trait solve results.
* Allow specifying additional info on call to profileAleksey Kladov2020-03-061-1/+10
|
* Less confusing profile namesAleksey Kladov2020-03-061-1/+1
|
* Rename ast::ImplBlock -> ast::ImplDefAleksey Kladov2020-02-291-3/+3
|
* FormattingFlorian Diebold2020-02-071-3/+4
|
* Use variables in predicates as wellFlorian Diebold2020-02-071-2/+2
|
* Change Ty::Param to contain param IDFlorian Diebold2020-02-071-6/+11
|
* Lower impl trait to variables, move away from using placeholders where they ↵Florian Diebold2020-02-071-6/+6
| | | | don't belong
* Split `infer` query into two for better profilingMichal Terepeta2020-01-031-1/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is the same change as we did with `crate_def_map` and it does seem that we mostly spend time in salsa, without recomputing much on rust-analyzer side. Example output: ``` 233ms - handle_inlay_hints 163ms - get_inlay_hints 163ms - SourceAnalyzer::new 67ms - def_with_body_from_child_node 67ms - analyze_container 67ms - analyze_container 67ms - Module::from_definition 67ms - Module::from_file 67ms - crate_def_map 0ms - parse_macro_query (6 calls) 0ms - raw_items_query (1 calls) 66ms - ??? 0ms - crate_def_map (1 calls) 0ms - crate_def_map (1 calls) 96ms - infer 2ms - trait_solve_query (2 calls) 94ms - ??? 0ms - body_with_source_map_query (1 calls) 0ms - crate_def_map (1 calls) [...] ``` Signed-off-by: Michal Terepeta <[email protected]>
* Update Chalk, clean up Chalk integration a bitFlorian Diebold2019-12-221-25/+10
|
* Add cycle recovery for type aliasesFlorian Diebold2019-11-301-0/+1
|
* Add cycle recovery for generic predicatesFlorian Diebold2019-11-301-0/+1
|
* Handle cycles in impl types betterFlorian Diebold2019-11-301-3/+7
| | | | | | - impl Trait<Self> for S is allowed - impl Trait for S<Self> is an invalid cycle, but we can add cycle recovery for it in Salsa now
* Memoize impl resolutionsAleksey Kladov2019-11-271-1/+4
|
* Move TyAleksey Kladov2019-11-271-0/+116