aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_hir_ty/src/lib.rs
Commit message (Collapse)AuthorAgeFilesLines
* Use `dyn Trait` for working with databseAleksey Kladov2020-03-161-17/+19
| | | | | | | 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-2/+2
|
* Fix #3373Florian Diebold2020-03-011-0/+4
| | | | | | | Basically, we need to allow variables in the caller self type to unify with the impl's declared self type. That requires some more contortions in the variable handling. I'm looking forward to (hopefully) handling this in a cleaner way when we switch to Chalk's types and unification code.
* Rework find_super_trait_path to protect against cyclesFlorian Diebold2020-02-221-7/+10
|
* Fix shift_bound_varsFlorian Diebold2020-02-221-3/+3
| | | | It should only shift free vars (maybe the name isn't the best...)
* Add &dyn Trait -> &dyn SuperTrait coercion, and fix &T -> &dyn TraitFlorian Diebold2020-02-221-0/+20
|
* Implement dyn Trait unsizing as wellFlorian Diebold2020-02-221-0/+11
|
* More manual clippy fixesKirill Bulatov2020-02-181-3/+2
|
* Run cargo +nightly fix --clippy -Z unstable-optionsKirill Bulatov2020-02-181-2/+2
|
* Move hir_fmt code to display moduleFlorian Diebold2020-02-141-371/+4
|
* Rename Ty::Param => Ty::PlaceholderFlorian Diebold2020-02-141-5/+5
| | | | This aligns more with Chalk.
* Fix some TODOsFlorian Diebold2020-02-071-7/+10
|
* Don't print implicit type args from impl TraitFlorian Diebold2020-02-071-3/+10
|
* FormattingFlorian Diebold2020-02-071-1/+4
|
* Fix compilation of other cratesFlorian Diebold2020-02-071-2/+8
|
* Use variables in predicates as wellFlorian Diebold2020-02-071-24/+4
|
* Comment fixes / todosFlorian Diebold2020-02-071-0/+2
|
* Fix APIT some moreFlorian Diebold2020-02-071-73/+80
|
* Change Ty::Param to contain param IDFlorian Diebold2020-02-071-22/+27
|
* Fix printing of function typesFlorian Diebold2020-02-071-3/+4
|
* Lower impl trait to variables, move away from using placeholders where they ↵Florian Diebold2020-02-071-2/+32
| | | | don't belong
* wip lower impl trait to type argsFlorian Diebold2020-02-071-1/+1
|
* Add impl trait lowering modeFlorian Diebold2020-02-071-1/+3
|
* Introduce TyLoweringContextFlorian Diebold2020-02-071-1/+1
|
* Standard formatting for array typesAleksey Kladov2020-01-281-1/+1
|
* Omit default parameters for reference typesKirill Bulatov2020-01-221-1/+6
|
* Split `infer` query into two for better profilingMichal Terepeta2020-01-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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]>
* Omit closure parametersKirill Bulatov2019-12-231-11/+20
|
* Clippy lintskjeremy2019-12-201-1/+1
|
* Rename ContainerId -> AssocContainerIdAleksey Kladov2019-12-201-4/+4
|
* Omit default parameter typesKirill Bulatov2019-12-191-1/+32
|
* ReformatAleksey Kladov2019-12-071-2/+2
|
* Refactor parameter count trackingAleksey Kladov2019-12-071-5/+5
|
* Remove idx and parent generics from genericsAleksey Kladov2019-12-071-21/+11
| | | | | This makes `hir_def::GenericParams` flatter. The logic for re-numbering the params is moved to hir instead.
* Handle cycles in impl types betterFlorian Diebold2019-11-301-15/+0
| | | | | | - 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
* Use Name::missing consistentlyAleksey Kladov2019-11-271-18/+7
|
* Memoize impl resolutionsAleksey Kladov2019-11-271-0/+15
|
* Move TyAleksey Kladov2019-11-271-2/+1132
|
* Doc primitivesAleksey Kladov2019-11-261-1/+2
|
* Introduce hir_tyAleksey Kladov2019-11-261-0/+3