Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Work around non-unique AttrIds | Jonas Schievink | 2021-05-22 | 2 | -9/+39 |
| | |||||
* | Remove `StructDefKind` | Jonas Schievink | 2021-05-21 | 1 | -3/+3 |
| | |||||
* | Don't lower extern block in the ItemTree | Jonas Schievink | 2021-05-21 | 2 | -0/+37 |
| | |||||
* | Support `#[register_attr]` and `#[register_tool]` | Jonas Schievink | 2021-05-20 | 2 | -32/+92 |
| | |||||
* | Rename `ignore_attrs_on` to `skip_attrs` | Jonas Schievink | 2021-05-20 | 1 | -6/+6 |
| | |||||
* | Simplify | Jonas Schievink | 2021-05-20 | 1 | -4/+2 |
| | |||||
* | Refactor name resolution to resolve derive helpers | Jonas Schievink | 2021-05-20 | 2 | -85/+135 |
| | |||||
* | Rename `unexpanded_macros` to `unresolved_macros` | Jonas Schievink | 2021-05-20 | 1 | -15/+31 |
| | |||||
* | Track in-scope derive helpers during nameres | Jonas Schievink | 2021-05-19 | 1 | -8/+26 |
| | |||||
* | Fix unresolved attribute fallback again | Jonas Schievink | 2021-05-19 | 2 | -4/+33 |
| | |||||
*-. | Merge #8885 #8887 | bors[bot] | 2021-05-19 | 2 | -14/+35 |
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8885: internal: greatly simplify eager macro representation r=jonas-schievink a=jonas-schievink - Share structures with lazy macros, make both use `MacroCallLoc`. - Remove `intern_eager_expansion`, `EagerCallLoc`, `EagerMacroId`, and *many* matches on `MacroCallId`. - Make a lot of FIXMEs obsolete since the code no longer distinguishes between eager and lazy macros. - Add `EagerCallInfo`, which is `Some` for calls to eager macros and holds the argument or expansion result and the included file. 8887: fix: fix derive collection after unresolved attribute fallback r=jonas-schievink a=jonas-schievink Fixes https://github.com/rust-analyzer/rust-analyzer/pull/8882#issuecomment-844379170 bors r+ Co-authored-by: Jonas Schievink <[email protected]> | ||||
| | * | Fix derive collection after unresolved attribute fallback | Jonas Schievink | 2021-05-19 | 2 | -2/+26 |
| |/ |/| | |||||
| * | Simplify eager macro representation | Jonas Schievink | 2021-05-19 | 1 | -12/+9 |
|/ | |||||
* | Merge #8882 | bors[bot] | 2021-05-19 | 1 | -27/+153 |
|\ | | | | | | | | | | | | | | | | | | | | | | | 8882: internal: resolve attributes in name resolution (minimal version) r=jonas-schievink a=jonas-schievink Closes https://github.com/rust-analyzer/rust-analyzer/pull/7049 This should not have any observable effect, since we don't attempt to expand attribute macros yet, and I have implemented a fallback that treats items with unresolved attributes as if the attribute wasn't there. Derive helpers are not yet resolved. `#![register_{attr,tool}]` are not yet supported. Co-authored-by: Jonas Schievink <[email protected]> | ||||
| * | Rewrite `resolve_imports` to use an iterator | Jonas Schievink | 2021-05-19 | 1 | -19/+23 |
| | | | | | | | | This allows reusing the original vector's allocation | ||||
| * | Restructure nameres loop to be a bit clearer | Jonas Schievink | 2021-05-19 | 1 | -38/+41 |
| | | |||||
| * | internal: resolve attributes in name resolution | Jonas Schievink | 2021-05-19 | 1 | -2/+121 |
| | | |||||
* | | Merge #8871 | bors[bot] | 2021-05-18 | 1 | -23/+13 |
|\ \ | | | | | | | | | | | | | | | | | | | | | | 8871: internal: Simplify `DefCollector::resolve_macros` r=jonas-schievink a=jonas-schievink bors r+ Co-authored-by: Jonas Schievink <[email protected]> | ||||
| * | | Simplify `DefCollector::resolve_macros` | Jonas Schievink | 2021-05-18 | 1 | -23/+13 |
| |/ | |||||
* | | Added cov mark | ivan770 | 2021-05-17 | 2 | -1/+3 |
| | | |||||
* | | Fix #8834 | ivan770 | 2021-05-16 | 2 | -0/+19 |
|/ | |||||
* | Move `AttrId` back into `hir_def` | Jonas Schievink | 2021-05-10 | 1 | -2/+2 |
| | |||||
* | 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 | 1 | -6/+14 |
| | |||||
* | 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 |
| | |||||
* | Merge #8542 | bors[bot] | 2021-04-16 | 2 | -6/+7 |
|\ | | | | | | | | | | | | | | | 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 | 2 | -6/+7 |
| | | |||||
* | | Fix primitive shadowing with inner items | Jonas Schievink | 2021-04-16 | 1 | -1/+7 |
|/ | |||||
* | 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 | 2 | -16/+15 |
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 | 1 | -7/+11 |
|/ | |||||
* | Use named fields in `MacroCallKind` | Jonas Schievink | 2021-04-08 | 1 | -1/+1 |
| | |||||
* | 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 | 1 | -1/+1 |
| | |||||
* | nameres: collect unnamed consts | Jonas Schievink | 2021-04-07 | 1 | -13/+21 |
| | |||||
* | Merge #8352 | bors[bot] | 2021-04-05 | 1 | -9/+3 |
|\ | | | | | | | | | | | | | | | 8352: Remove dead legacy macro expansion code r=lnicola a=brandondong I was investigating some unrelated macro issue when I noticed this dead code. This legacy macro expansion logic was changed in https://github.com/rust-analyzer/rust-analyzer/pull/8128. Co-authored-by: Brandon <[email protected]> | ||||
| * | Remove dead legacy macro expansion code | Brandon | 2021-04-05 | 1 | -9/+3 |
| | | |||||
* | | Use shrink_to_fit to reduce DefMap sizes | Jonas Schievink | 2021-04-03 | 1 | -1/+3 |
| | | |||||
* | | Intern `ModPath` in `Import` | Jonas Schievink | 2021-04-03 | 1 | -2/+6 |
| | | | | | | | | Minor savings only | ||||
* | | Allow include! an empty content file | Edwin Cheng | 2021-04-03 | 1 | -0/+20 |
| | | |||||
* | | Support `#[rustc_builtin_macro = "builtin_name"]` | Jonas Schievink | 2021-04-03 | 1 | -1/+11 |
| | | |||||
* | | Only populate prelude for crate-level DefMaps | Jonas Schievink | 2021-04-02 | 1 | -14/+16 |
| | | |||||
* | | Intern Attr, MacroCall and Path components | Jonas Schievink | 2021-04-01 | 1 | -1/+1 |
| | | |||||
* | | Remove unused test fixtures | Edwin Cheng | 2021-03-28 | 1 | -4/+0 |
| | | |||||
* | | Basic Support Macro 2.0 | Edwin Cheng | 2021-03-27 | 2 | -39/+85 |
|/ | |||||
* | Merge bang-macros and derives in name resolution | Jonas Schievink | 2021-03-23 | 1 | -86/+79 |
| | |||||
* | resolver: manually traverse nested block scopes | Jonas Schievink | 2021-03-22 | 1 | -1/+1 |
| | |||||
* | Merge #8134 | bors[bot] | 2021-03-21 | 1 | -4/+9 |
|\ | | | | | | | | | | | | | | | 8134: Correct the paths of submodules from the include! macro r=edwin0cheng a=sticnarf This PR should fix #7846. It mostly follows the instructions from @edwin0cheng in that issue. Co-authored-by: Yilin Chen <[email protected]> |