Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
* | Rewrite `attr.rs` to allow using syntax-based indices | Jonas Schievink | 2021-05-10 | 2 | -59/+84 | |
| | ||||||
* | Move `AttrId` back into `hir_def` | Jonas Schievink | 2021-05-10 | 3 | -6/+9 | |
| | ||||||
* | Test that none of the macros are reparsed | Jonas Schievink | 2021-05-09 | 1 | -0/+6 | |
| | ||||||
* | Precompute macro fragment kind | Jonas Schievink | 2021-05-09 | 5 | -11/+29 | |
| | ||||||
* | Reuse database in LowerCtx | Jonas Schievink | 2021-05-06 | 4 | -15/+11 | |
| | ||||||
* | Update crates/hir_def/src/nameres/tests/incremental.rs | Aleksey Kladov | 2021-05-06 | 1 | -1/+1 | |
| | | | Co-authored-by: Jonas Schievink <[email protected]> | |||||
* | internal: add failing incremental test | Aleksey Kladov | 2021-05-06 | 1 | -0/+52 | |
| | ||||||
* | Don't store call-site text offsets in hygiene info | Jonas Schievink | 2021-05-06 | 12 | -63/+99 | |
| | ||||||
* | Fix block comment intra doc link injection ranges | Lukas Tobias Wirth | 2021-05-04 | 1 | -4/+8 | |
| | ||||||
* | find_path: check only crate-level prelude | Jonas Schievink | 2021-04-30 | 1 | -2/+28 | |
| | ||||||
* | Remove `ItemTree::all_inner_items` | Jonas Schievink | 2021-04-21 | 1 | -7/+0 | |
| | ||||||
* | Add failing local items test | Jonas Schievink | 2021-04-21 | 3 | -0/+46 | |
| | ||||||
* | Fix some find_path bugs around inner items | Jonas Schievink | 2021-04-19 | 1 | -5/+58 | |
| | ||||||
* | fix: false positive about inner attrs in docs | Aleksey Kladov | 2021-04-19 | 1 | -2/+2 | |
| | | | | closes #8541 | |||||
* | Merge #8462 | bors[bot] | 2021-04-19 | 7 | -36/+72 | |
|\ | | | | | | | | | | | | | | | 8462: Expand macros at type position r=jonas-schievink a=cynecx Co-authored-by: cynecx <[email protected]> | |||||
| * | hir_ty: keep body::Expander in TyLoweringContext | cynecx | 2021-04-18 | 2 | -45/+11 | |
| | | ||||||
| * | hir_def: various cleanups | cynecx | 2021-04-18 | 3 | -11/+9 | |
| | | ||||||
| * | hir_def: refactor expand_macro_type and cleanups | cynecx | 2021-04-17 | 2 | -120/+30 | |
| | | ||||||
| * | hir_def: ignore ast::Type in file_item_tree query | cynecx | 2021-04-17 | 2 | -10/+11 | |
| | | ||||||
| * | hir_ty: Expand macros at type position | cynecx | 2021-04-17 | 8 | -49/+210 | |
| | | ||||||
* | | Fix visibility of items in block modules | Jonas Schievink | 2021-04-19 | 2 | -1/+21 | |
|/ | ||||||
* | Fix `TestDB::module_at_position` with submodules | Jonas Schievink | 2021-04-17 | 2 | -2/+72 | |
| | ||||||
* | Merge #8542 | bors[bot] | 2021-04-16 | 7 | -19/+39 | |
|\ | | | | | | | | | | | | | | | 8542: Include path in `unresolved-macro-call` diagnostic r=matklad a=jonas-schievink Co-authored-by: Jonas Schievink <[email protected]> | |||||
| * | Include path in `unresolved-macro-call` diagnostic | Jonas Schievink | 2021-04-16 | 7 | -19/+39 | |
| | | ||||||
* | | Fix primitive shadowing with inner items | Jonas Schievink | 2021-04-16 | 1 | -1/+7 | |
|/ | ||||||
* | Remove unneeded annotations from find_path tests | Jonas Schievink | 2021-04-15 | 1 | -6/+0 | |
| | ||||||
* | Make find_path tests adhere to style guide | Jonas Schievink | 2021-04-15 | 1 | -260/+327 | |
| | ||||||
* | Merge #8432 | bors[bot] | 2021-04-13 | 1 | -0/+10 | |
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8432: decl_check: consider outer scopes' allows r=jonas-schievink a=lf- Fix #8417. Also makes it less noisy about no_mangle annotated stuff the user can do nothing about. Note: this still is broken with bitfield! macros. A repro in an ignore test is included here. I believe this bug is elsewhere, and I don't think I can work around it here. I would like help filing the remaining bug, as it does actually affect users, but I don't know how to describe the behaviour (or even if it is unintended). Co-authored-by: Jade <[email protected]> | |||||
| * | decl_check: consider outer scopes' allows | Jade | 2021-04-08 | 1 | -0/+10 | |
| | | | | | | | | | | | | | | | | | | Fix #8417. Also makes it less noisy about no_mangle annotated stuff the user can do nothing about. Note: this still is broken with bitfield! macros. A repro in an ignore test is included here. I believe this bug is elsewhere, and I don't think I can work around it here. | |||||
* | | Support macros in pattern position | Jonas Schievink | 2021-04-11 | 3 | -8/+33 | |
| | | ||||||
* | | Avoid an unnecessary `collect` | Jonas Schievink | 2021-04-09 | 1 | -3/+1 | |
| | | ||||||
* | | Merge #8450 | bors[bot] | 2021-04-09 | 1 | -0/+4 | |
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | 8450: Don't ignore unnamed consts when looking for definitions r=Veykril a=Veykril Fixes #8448 bors r+ Co-authored-by: Lukas Wirth <[email protected]> | |||||
| * | | Insert unnamed consts to ChildBySource DynMap | Lukas Wirth | 2021-04-09 | 1 | -0/+4 | |
| | | | ||||||
* | | | Resolve prelude and crate root names in the root DefMap | Jonas Schievink | 2021-04-09 | 2 | -7/+34 | |
| | | | ||||||
| | | | ||||||
| \ \ | ||||||
*-. \ \ | Merge #8443 #8446 | bors[bot] | 2021-04-09 | 5 | -35/+39 | |
|\ \ \ \ | |_|/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8443: Rewrite `#[derive]` removal code to be based on AST r=jonas-schievink a=jonas-schievink We now remove any `#[derive]` before and including the one we want to expand, in the `macro_arg` query. The same infra will be needed by attribute macros (except we only remove the attribute we're expanding, not any preceding ones). Part of https://github.com/rust-analyzer/rust-analyzer/issues/8434 (doesn't implement the cfg-expansion yet, because that's more difficult) 8446: Undo path resolution hack for extern prelude r=jonas-schievink a=jonas-schievink Reverts the change made in https://github.com/rust-analyzer/rust-analyzer/pull/7959 We don't populate the extern prelude for block DefMaps anymore, so this is unnecessary bors r+ Co-authored-by: Jonas Schievink <[email protected]> | |||||
| | * | | Undo path resolution hack for extern prelude | Jonas Schievink | 2021-04-09 | 1 | -9/+4 | |
| |/ / |/| | | | | | | | | | | | We don't populate the extern prelude for block DefMaps anymore, so this is unnecessary | |||||
| * | | Store `#[derive]` attribute ID along macro invoc | Jonas Schievink | 2021-04-09 | 3 | -9/+15 | |
| | | | ||||||
| * | | Rename `Attr`s `index` field to `id` | Jonas Schievink | 2021-04-09 | 1 | -8/+8 | |
| | | | ||||||
| * | | Add `AttrId` to track attribute sources | Jonas Schievink | 2021-04-09 | 1 | -14/+17 | |
|/ / | ||||||
* | | Use named fields in `MacroCallKind` | Jonas Schievink | 2021-04-08 | 3 | -17/+22 | |
| | | ||||||
* | | Track recursion limit when expanding custom derive | Jonas Schievink | 2021-04-08 | 1 | -1/+1 | |
|/ | ||||||
* | Update `OUT_DIR` diagnostic to match setting | Jonas Schievink | 2021-04-07 | 2 | -2/+2 | |
| | ||||||
* | Collect trait impls inside unnamed consts | Jonas Schievink | 2021-04-07 | 1 | -0/+4 | |
| | ||||||
* | nameres: collect unnamed consts | Jonas Schievink | 2021-04-07 | 2 | -14/+29 | |
| | ||||||
* | Avoid O(n²) when constructing AttrSourceMap | Jonas Schievink | 2021-04-06 | 3 | -10/+70 | |
| | ||||||
* | Lower attributes on tuple fields | Jonas Schievink | 2021-04-06 | 1 | -5/+4 | |
| | ||||||
* | infer: remove `record_field_resolutions` field | Jonas Schievink | 2021-04-06 | 1 | -0/+13 | |
| | | | | | It stores no useful data, since we can derive all fields from `variant_resolutions` | |||||
* | Intern TypeRefs stored in Body | Jonas Schievink | 2021-04-06 | 2 | -8/+12 | |
| | | | | Minor improvement to memory usage (1 MB or so) | |||||
* | Use Box'es to reduce the size of hir_def::expr::Pat from 112 to 64 bytes on ↵ | Alexandru Macovei | 2021-04-06 | 3 | -6/+12 | |
| | | | | 64bit | |||||
* | Use Box'es to reduce size of hir_def::expr::Expr from 128 to 72 bytes (on ↵ | Alexandru Macovei | 2021-04-06 | 2 | -10/+14 | |
| | | | | | | | | | | 64bit systems) Rationale: only a minority of variants used almost half the size. By keeping large members (especially in Option) behind a box the memory cost is only payed when the large variants are needed. This reduces the size Vec<Expr> needs to allocate. |