aboutsummaryrefslogtreecommitdiff
path: root/crates/hir_def/src/path.rs
Commit message (Collapse)AuthorAgeFilesLines
* internal: move diagnostics to hirAleksey Kladov2021-05-251-1/+1
| | | | | | | | | | | | | | | | | | | | | | | The idea here is to eventually get rid of `dyn Diagnostic` and `DiagnosticSink` infrastructure altogether, and just have a `enum hir::Diagnostic` instead. The problem with `dyn Diagnostic` is that it is defined in the lowest level of the stack (hir_expand), but is used by the highest level (ide). As a first step, we free hir_expand and hir_def from `dyn Diagnostic` and kick the can up to `hir_ty`, as an intermediate state. The plan is then to move DiagnosticSink similarly to the hir crate, and, as final third step, remove its usage from the ide. One currently unsolved problem is testing. You can notice that the test which checks precise diagnostic ranges, unresolved_import_in_use_tree, was moved to the ide layer. Logically, only IDE should have the infra to render a specific range. At the same time, the range is determined with the data produced in hir_def and hir crates, so this layering is rather unfortunate. Working on hir_def shouldn't require compiling `ide` for testing.
* Intern `GenericArgs`Jonas Schievink2021-05-241-4/+3
| | | | This shaves off another ~4 mb or so
* internal: intern `TypeBound`sJonas Schievink2021-05-241-1/+1
| | | | | Doesn't save much memory (~2 mb), but interning things is generally a good pattern to follow
* impl Display for AttrInput/ImportAliasJonas Schievink2021-05-211-0/+9
|
* Reuse database in LowerCtxJonas Schievink2021-05-061-3/+3
|
* Don't store call-site text offsets in hygiene infoJonas Schievink2021-05-061-7/+8
|
* hir_ty: Expand macros at type positioncynecx2021-04-171-3/+4
|
* Use Box'es to reduce the size of hir_def::expr::Pat from 112 to 64 bytes on ↵Alexandru Macovei2021-04-061-0/+6
| | | | 64bit
* Intern more `TypeRef`s in genericsJonas Schievink2021-04-051-1/+1
| | | | Saves ~3 MB
* Intern Attr, MacroCall and Path componentsJonas Schievink2021-04-011-7/+7
|
* Impl HirDisplay for function hover messageoxalica2021-03-151-1/+10
|
* Avoid using ModPath's fields directlyJonas Schievink2021-02-041-4/+4
|
* Make `ModPath`'s representation privateJonas Schievink2021-02-041-4/+25
|
* Identify methods using functions ids rather than string namesPhil Ellison2021-01-231-0/+1
|
* Merge #7326bors[bot]2021-01-181-1/+1
|\ | | | | | | | | | | | | | | 7326: Use `is_ident` when converting Path to an Identifier r=edwin0cheng a=kevaundray Co-authored-by: Kevaundray Wedderburn <[email protected]>
| * cargo fmtKevaundray Wedderburn2021-01-181-1/+1
| |
| * use `is_ident` methodKevaundray Wedderburn2021-01-181-2/+2
| |
* | Add fix to wrap return expression in SomePhil Ellison2021-01-071-0/+1
|/
* More accurate `#[derive]` parsingJonas Schievink2020-12-191-10/+2
| | | | This now allows full paths to the derive macro
* Add Lifetimes to the HIRLukas Wirth2020-12-111-2/+2
|
* Move ModPath->ast::Path function to IDE layerAleksey Kladov2020-10-061-21/+1
| | | | closes #6092
* Merge #6019bors[bot]2020-09-291-4/+22
|\ | | | | | | | | | | | | | | 6019: Remove make::path_from_text r=matklad a=Veykril This removes the `make::path_from_text` function, which according to a note should've been private. I removed it since it didn't really serve a purpose as it was simply wrapping `make::ast_from_text`. Co-authored-by: Lukas Wirth <[email protected]>
| * Remove make::path_from_textLukas Wirth2020-09-161-4/+22
| |
* | Give `ExternCrate` a `Name`, not a `ModPath`Jonas Schievink2020-09-171-4/+0
|/
* Remove deprecated Path::from_astAleksey Kladov2020-08-151-6/+0
| | | | Long term, we probably should make hir::Path private to hir.
* Rename ra_hir_def -> hir_defAleksey Kladov2020-08-131-0/+351