Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Expand procedural attribute macros | Jonas Schievink | 2021-06-03 | 1 | -0/+40 |
| | |||||
* | internal: move diagnostics to hir | Aleksey Kladov | 2021-05-25 | 1 | -8/+9 |
| | | | | | | | | | | | | | | | | | | | | | | | 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. | ||||
* | Infer correct expected type for generic struct fields | Florian Diebold | 2021-05-23 | 1 | -0/+8 |
| | |||||
* | Rewrite `attr.rs` to allow using syntax-based indices | Jonas Schievink | 2021-05-10 | 1 | -1/+1 |
| | |||||
* | Move `AttrId` back into `hir_def` | Jonas Schievink | 2021-05-10 | 1 | -3/+3 |
| | |||||
* | Precompute macro fragment kind | Jonas Schievink | 2021-05-09 | 1 | -2/+10 |
| | |||||
* | Don't store call-site text offsets in hygiene info | Jonas Schievink | 2021-05-06 | 1 | -2/+2 |
| | |||||
* | Merge #8462 | bors[bot] | 2021-04-19 | 1 | -0/+1 |
|\ | | | | | | | | | | | | | | | 8462: Expand macros at type position r=jonas-schievink a=cynecx Co-authored-by: cynecx <[email protected]> | ||||
| * | hir_ty: Expand macros at type position | cynecx | 2021-04-17 | 1 | -0/+1 |
| | | |||||
* | | Fix visibility of items in block modules | Jonas Schievink | 2021-04-19 | 1 | -0/+12 |
|/ | |||||
* | Include path in `unresolved-macro-call` diagnostic | Jonas Schievink | 2021-04-16 | 1 | -4/+13 |
| | |||||
* | 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. | ||||
* | | Store `#[derive]` attribute ID along macro invoc | Jonas Schievink | 2021-04-09 | 1 | -1/+3 |
| | | |||||
* | | Use named fields in `MacroCallKind` | Jonas Schievink | 2021-04-08 | 1 | -2/+7 |
|/ | |||||
* | Avoid O(n²) when constructing AttrSourceMap | Jonas Schievink | 2021-04-06 | 1 | -0/+8 |
| | |||||
* | 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 `GenericParams` | Jonas Schievink | 2021-04-05 | 1 | -1/+1 |
| | | | | | Also share the same instance between `ItemTree` and `generic_params` query. | ||||
* | Global TypeRef/TraitRef interning | Jonas Schievink | 2021-04-01 | 1 | -0/+1 |
| | |||||
* | Rename derive-specific APIs | Jonas Schievink | 2021-03-19 | 1 | -2/+2 |
| | |||||
* | Document fields of `ModuleId` | Jonas Schievink | 2021-03-18 | 1 | -1/+5 |
| | |||||
* | Make MacroDefId's `AstId` mandatory when possible | Jonas Schievink | 2021-03-18 | 1 | -1/+1 |
| | |||||
* | Follow established ErrorEmitted pattern | Brandon | 2021-03-17 | 1 | -11/+11 |
| | |||||
* | Fix missing unresolved macro diagnostic in function body | Brandon | 2021-03-16 | 1 | -10/+13 |
| | |||||
* | Create TraitEnvironment through a query | Florian Diebold | 2021-03-13 | 1 | -0/+10 |
| | |||||
* | Delete `ContainerId` | Jonas Schievink | 2021-03-09 | 1 | -33/+17 |
| | |||||
* | Stop using `ContainerId` in `AssocContainerId` | Jonas Schievink | 2021-03-09 | 1 | -3/+3 |
| | |||||
* | Fix `find_path` when inner items are present | Jonas Schievink | 2021-03-01 | 1 | -0/+23 |
| | |||||
* | For unresolved macros, hightlight only the last segment | Aleksey Kladov | 2021-02-28 | 1 | -58/+56 |
| | |||||
* | Make `ModPath`'s representation private | Jonas Schievink | 2021-02-04 | 1 | -1/+1 |
| | |||||
* | Shortcut `block_def_map` if there's no inner items | Jonas Schievink | 2021-02-03 | 1 | -1/+8 |
| | | | | | This previously didn't work, but apparently only because of the wonky test setup | ||||
* | Intern block locations and handle them in ModuleId | Jonas Schievink | 2021-01-25 | 1 | -1/+14 |
| | |||||
* | Create all `ModuleId`s through a `DefMap` method | Jonas Schievink | 2021-01-25 | 1 | -4/+0 |
| | | | | | `ModuleId` needs to be able to represent blocks, and only the associated `DefMap` will know how to construct that `ModuleId` | ||||
* | Make `ModuleId`'s `krate` field private | Jonas Schievink | 2021-01-22 | 1 | -1/+9 |
| | |||||
* | Obtain `ModuleId`'s `DefMap` through a method | Jonas Schievink | 2021-01-22 | 1 | -1/+11 |
| | |||||
* | prepare to publish el libro de arena | Aleksey Kladov | 2021-01-14 | 1 | -1/+1 |
| | |||||
* | Impl HasAttrs for GenericParam | Lukas Wirth | 2021-01-01 | 1 | -1/+21 |
| | |||||
* | Add ConstParams to the HIR | Lukas Wirth | 2021-01-01 | 1 | -0/+7 |
| | |||||
* | Add `AttrDefId::krate` | Jonas Schievink | 2020-12-17 | 1 | -0/+30 |
| | | | | Access to the containing crate will be needed to handle `cfg_attr` | ||||
* | Merge #6818 | bors[bot] | 2020-12-12 | 1 | -0/+7 |
|\ | | | | | | | | | | | | | | | | | | | 6818: Add Lifetimes to the HIR r=matklad a=Veykril This doesn't handle resolve yet as I don't know yet how that will be used. I'll get to that once I start moving the lifetime reference PR to the hir. This also adds a new `hir` name type for lifetimes and labels, `hir::LifetimeName`. Co-authored-by: Lukas Wirth <[email protected]> | ||||
| * | Add Lifetimes to the HIR | Lukas Wirth | 2020-12-11 | 1 | -0/+7 |
| | | |||||
* | | Add builtin attributes for use in nameres | Jonas Schievink | 2020-12-11 | 1 | -0/+1 |
|/ | |||||
* | Remove hir_def/docs.rs module | Lukas Wirth | 2020-12-07 | 1 | -1/+0 |
| | |||||
* | Fix proc macro token mapping | Jonas Schievink | 2020-12-03 | 1 | -2/+2 |
| | |||||
* | Propagate eager expansion errors | Jonas Schievink | 2020-12-03 | 1 | -10/+41 |
| | |||||
* | Deny unreachable-pub | Aleksey Kladov | 2020-11-02 | 1 | -3/+3 |
| | | | | | | | | It's very useful when `pub` is equivalent to "this is crate's public API", let's enforce this! Ideally, we should enforce it for local `cargo test`, and only during CI, but that needs https://github.com/rust-lang/cargo/issues/5034. | ||||
* | Rename ra_hir_def -> hir_def | Aleksey Kladov | 2020-08-13 | 1 | -0/+541 |