aboutsummaryrefslogtreecommitdiff
path: root/crates/hir/src/lib.rs
Commit message (Collapse)AuthorAgeFilesLines
* Merge #8020bors[bot]2021-03-151-14/+44
|\ | | | | | | | | | | | | | | | | | | | | | | | | 8020: Power up goto_implementation r=matklad a=Veykril by allowing it to be invoked on references of names, now showing all (trait) implementations of the given type in all crates instead of just the defining crate as well as including support for builtin types ![image](https://user-images.githubusercontent.com/3757771/111144403-52bb0700-8587-11eb-9205-7a2a5b8b75a3.png) Example screenshot of `impl`s of Box in `log`, `alloc`, `std` and the current crate. Before you had to invoke it on the definition where it would only show the `impls` in `alloc`. Co-authored-by: Lukas Wirth <[email protected]>
| * goto_implementation: Look at the entire crate graph for trait implsLukas Wirth2021-03-151-8/+3
| |
| * Speedup trait impl search for goto_implementationLukas Wirth2021-03-151-2/+10
| |
| * Power up goto_implementationLukas Wirth2021-03-151-13/+40
| | | | | | | | | | by allowing it to be invoked on references of names, showing all (trait) implementations of the given type in all crates including builtin types
* | Merge #8018bors[bot]2021-03-151-5/+29
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | 8018: Make Ty wrap TyKind in an Arc r=flodiebold a=flodiebold ... to further move towards Chalk. This is a bit of a slowdown (218ginstr vs 213ginstr for inference on RA), even though it allows us to unwrap the Substs in `TyKind::Ref` etc.. Co-authored-by: Florian Diebold <[email protected]>
| * | Don't use Substs for Ref/Raw/Array/SliceFlorian Diebold2021-03-141-5/+29
| |/
* / some clippy::performance fixesMatthias Krüger2021-03-151-2/+1
|/ | | | | | | use vec![] instead of Vec::new() + push() avoid redundant clones use chars instead of &str for single char patterns in ends_with() and starts_with() allocate some Vecs with capacity to avoid unneccessary resizing
* More renamingFlorian Diebold2021-03-141-1/+1
|
* Rename some fields to their Chalk namesFlorian Diebold2021-03-141-2/+2
|
* Move type lowering methods to TyLoweringContextFlorian Diebold2021-03-131-3/+3
|
* Create TraitEnvironment through a queryFlorian Diebold2021-03-131-5/+7
|
* Use chalk_ir::PlaceholderIndexFlorian Diebold2021-03-131-1/+1
|
* Use chalk_ir::FnDefIdFlorian Diebold2021-03-131-4/+1
|
* Use chalk_ir::AssocTypeIdFlorian Diebold2021-03-131-2/+5
|
* Separate `Ty` and `TyKind` like in ChalkFlorian Diebold2021-03-131-33/+34
| | | | | Currently `Ty` just wraps `TyKind`, but this allows us to change most places to already use `intern` / `interned`.
* Avoid double text edits when renaming mod declarationLukas Wirth2021-03-101-1/+0
|
* Delete `ContainerId`Jonas Schievink2021-03-091-21/+9
|
* Stop using `ContainerId` in `AssocContainerId`Jonas Schievink2021-03-091-2/+2
|
* Merge #7942bors[bot]2021-03-091-7/+1
|\ | | | | | | | | | | | | | | 7942: Show whether a binding is mutable or not on hover r=Veykril a=Veykril bors r+ Co-authored-by: Lukas Wirth <[email protected]>
| * Show whether a binding is mutable or not on hoverLukas Wirth2021-03-091-7/+1
| |
* | Cleanup auto-ref in completionAleksey Kladov2021-03-091-4/+3
|/
* Merge #7873 #7933bors[bot]2021-03-091-0/+11
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7873: Consider unresolved qualifiers during flyimport r=matklad a=SomeoneToIgnore Closes https://github.com/rust-analyzer/rust-analyzer/issues/7679 Takes unresolved qualifiers into account, providing better completions (or none, if the path is resolved or do not match). Does not handle cases when both path qualifier and some trait has to be imported: there are many extra issues with those (such as overlapping imports, for instance) that will require large diffs to address. Also does not do a fuzzy search on qualifier, that requires some adjustments in `import_map` for better queries and changes to the default replace range which also seems relatively big to include here. ![qualifier_completion](https://user-images.githubusercontent.com/2690773/110040808-0af8dc00-7d4c-11eb-83db-65af94e843bb.gif) 7933: Improve compilation speed r=matklad a=matklad bors r+ 🤖 Co-authored-by: Kirill Bulatov <[email protected]> Co-authored-by: Aleksey Kladov <[email protected]>
| * Refactor the import locationKirill Bulatov2021-03-081-0/+11
| |
* | Use `Type::new_with_resolver_inner` moreJonas Schievink2021-03-091-26/+14
|/
* Hygiene is an internal implementation detail of the compilerAleksey Kladov2021-03-081-2/+5
|
* Remove useless code_model indirectionAleksey Kladov2021-03-081-28/+2114
|
* Show docs on hover for keywords and primitivesLukas Wirth2021-03-021-6/+5
|
* Impl HasAttrs for GenericParamLukas Wirth2021-01-011-2/+3
|
* Add ConstParams to the HIRLukas Wirth2021-01-011-3/+3
|
* Track labels in the HIRLukas Wirth2020-12-241-2/+2
|
* Align code_model name with ungrammarAleksey Kladov2020-12-201-3/+3
|
* Rename ImplDef -> ImplAleksey Kladov2020-12-171-1/+1
| | | | | | We used to have `Def` suffix for all symbols, but we moved off from that. `FunctionDef` isn't better than `Function`. Looks like we've forgot to change `Impl` though!
* Add Lifetimes to the HIRLukas Wirth2020-12-111-4/+5
|
* Make `original_range` a method on `InFile<&SyntaxNode>`Jonas Schievink2020-12-081-1/+1
|
* Remove hir_def/docs.rs moduleLukas Wirth2020-12-071-2/+1
|
* Use `ExpandResult` instead of `MacroResult`Jonas Schievink2020-11-261-1/+1
| | | | `MacroResult` is redundant
* hir_expand: propagate expansion errorsJonas Schievink2020-11-241-2/+2
|
* Remove query aliasesKirill Bulatov2020-11-161-1/+1
|
* Use imports_locatorKirill Bulatov2020-11-161-1/+1
|
* Add imports in auto completionKirill Bulatov2020-11-161-0/+1
|
* Remove more unreachable pubsAleksey Kladov2020-11-021-1/+2
|
* Shorten type hints for std::iter IteratorsLukas Wirth2020-10-061-1/+1
|
* Move ModPath->ast::Path function to IDE layerAleksey Kladov2020-10-061-5/+2
| | | | closes #6092
* Make ImportPrefix a configuration optionLukas Wirth2020-10-051-0/+1
|
* Tease apart orthogonal concerns in markdown link rewritingAleksey Kladov2020-08-261-3/+1
| | | | | | | | | | | | `hir` should know nothing about URLs, markdown and html. It should only be able to: * resolve stringy path from documentation * generate canonical stringy path for a def In contrast, link rewriting should not care about semantics of paths and names resolution, and should be concern only with text mangling bits.
* Remove AttrDefAleksey Kladov2020-08-251-1/+1
|
* Move attrs from code_module to a separate moduleAleksey Kladov2020-08-251-5/+6
|
* Use the same abstraction for attrs and docsAleksey Kladov2020-08-251-1/+1
| | | | | Doc comments *are* attributes, so there's no reason to have two crates here.
* Renames, comments, and dead code removalZac Pullar-Strecker2020-08-241-2/+2
|
* Merge remote-tracking branch 'upstream/master' into 503-hover-doc-linksZac Pullar-Strecker2020-08-241-2/+5
|