aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_hir_def/src/body/lower.rs
Commit message (Collapse)AuthorAgeFilesLines
* Finish extern crates grammarAleksey Kladov2020-07-301-1/+1
|
* Rename ModuleItem -> ItemAleksey Kladov2020-07-291-14/+14
|
* Cleanup changes leftover from previous tracking attemptPaul Daniel Faria2020-06-271-14/+16
|
* Remove track_parent and parent_map, replace with simple walk in missign ↵Paul Daniel Faria2020-06-271-271/+98
| | | | unsafe validator
* Fix issues caused during rebasePaul Daniel Faria2020-06-271-45/+63
|
* unsafe: Clean up, improve tracking, add debug_assertPaul Daniel Faria2020-06-271-80/+157
| | | | | | Move unsafe_expressions to unsafe_validation.rs, replace vec tracking of child exprs with inline macro, add debug assert to ensure tracked children match walked children exactly
* Track expr parents during lowering, use parent map when checking if unsafe ↵Paul Daniel Faria2020-06-271-88/+164
| | | | exprs are within unsafe blocks
* Rename Expr::UnsafeBlock to Expr::UnsafePaul Daniel Faria2020-06-271-1/+1
|
* Track unsafe blocks, don't trigger missing unsafe diagnostic when unsafe ↵Paul Daniel Faria2020-06-271-1/+5
| | | | exprs within unsafe block
* Make find_inner_item fallibleJonas Schievink2020-06-261-14/+15
| | | | | The ItemTree does not collect incomplete items, such as traits with no name, so the (malformed) AST node might have no corresponding item.
* find_inner_item: more detailed panic messageJonas Schievink2020-06-261-1/+7
|
* Simplify inner item loweringJonas Schievink2020-06-261-61/+30
|
* Use a HashMap instead of VecJonas Schievink2020-06-241-8/+9
| | | | | This is no longer enforcing stack discipline, so a Vec isn't necessary or helpful
* Remove unneeded HirFileId argumentJonas Schievink2020-06-241-4/+3
|
* Merge item tree traitsJonas Schievink2020-06-241-2/+2
| | | | | The Source trait isn't needed anymore since we no longer merge extern crate items with use items.
* Collect inner items in expression macrosJonas Schievink2020-06-241-1/+3
|
* draw the rest of the owlJonas Schievink2020-06-241-51/+122
|
* Hook up query, add impls, lower moarJonas Schievink2020-06-241-4/+3
|
* Start item treeAleksey Kladov2020-06-241-3/+4
|
* fmtrobojumper2020-05-311-10/+20
|
* correctly infer labelled breaksrobojumper2020-05-311-11/+45
|
* Support raw_ref_op's raw reference operatorrobojumper2020-05-281-3/+16
|
* Switch to new magic marksAleksey Kladov2020-05-201-2/+2
|
* Create LowerCtx on the flyEdwin Cheng2020-05-171-9/+10
|
* Merge #4305bors[bot]2020-05-051-3/+10
|\ | | | | | | | | | | | | | | 4305: Favor types for record type struct in name resolution r=matklad a=edwin0cheng Fixed #4235 Co-authored-by: Edwin Cheng <[email protected]>
| * Change favor_types to has_constructorEdwin Cheng2020-05-041-4/+4
| |
| * Remove unused importEdwin Cheng2020-05-041-2/+2
| |
| * Favor types for Record in name resolutionEdwin Cheng2020-05-041-4/+11
| |
* | refactor: use attrsOwner directly in is_cfg_enabledBenjamin Coenen2020-05-051-4/+2
|/ | | | Signed-off-by: Benjamin Coenen <[email protected]>
* Merge #4234bors[bot]2020-05-021-0/+1
|\ | | | | | | | | | | | | | | | | | | | | | | 4234: Support local_inner_macros r=jonas-schievink a=edwin0cheng This PR implements `#[macro_export(local_inner_macros)]` support. Note that the rustc implementation is quite [hacky][1] too. :) [1]: https://github.com/rust-lang/rust/blob/614f273e9388ddd7804d5cbc80b8865068a3744e/src/librustc_resolve/macros.rs#L456 Co-authored-by: Edwin Cheng <[email protected]>
| * Support local_inner_macrosEdwin Cheng2020-05-011-0/+1
| |
* | Introduce EffectExprAleksey Kladov2020-05-021-11/+13
| |
* | Revert "Merge #4233"Aleksey Kladov2020-05-021-0/+4
| | | | | | | | | | This reverts commit a5f2b16366f027ad60c58266a66eb7fbdcbda9f9, reversing changes made to c96b2180c1c4206a0a98c280b4d30897eb116336.
* | Introduce LowerCtx for path loweringEdwin Cheng2020-05-011-8/+34
|/
* Remove dead code, which elaborately pretends to be aliveAleksey Kladov2020-04-301-4/+0
|
* add support for cfg feature attributes on expression #4063Benjamin Coenen2020-04-251-0/+4
| | | | Signed-off-by: Benjamin Coenen <[email protected]>
* Some clippy fixesJeremy Kolb2020-04-191-5/+3
|
* Merge #4012bors[bot]2020-04-171-3/+10
|\ | | | | | | | | | | | | | | 4012: fix panic on ellipsis in pattern r=flodiebold a=JoshMcguigan fixes #3999 Co-authored-by: Josh Mcguigan <[email protected]>
| * fix panic on ellipsis in patternJosh Mcguigan2020-04-171-3/+10
| |
* | Don't expose impl details of SyntaxPtrAleksey Kladov2020-04-171-1/+2
|/
* handle tuple patterns with ellipsisJosh Mcguigan2020-04-131-5/+22
|
* Align grammar for record patterns and literalsAleksey Kladov2020-04-111-1/+1
| | | | | | The grammar now looks like this [name_ref :] pat
* Merge #3925bors[bot]2020-04-111-1/+0
|\ | | | | | | | | | | | | | | | | | | 3925: Implement assist "Reorder field names" r=matklad a=geoffreycopin This PR implements the "Reorder record fields" assist as discussed in issue #3821 . Adding a `RecordFieldPat` variant to the `Pat` enum seemed like the easiest way to handle the `RecordPat` children as a single sequence of elements, maybe there is a better way ? Co-authored-by: Geoffrey Copin <[email protected]>
| * Avoid adding a RecordFieldPat variant to the Pat enumGeoffrey Copin2020-04-111-2/+0
| |
| * Implement assist "Reorder field names"Geoffrey Copin2020-04-091-1/+2
| |
* | Remove dead codeAleksey Kladov2020-04-111-2/+1
| |
* | Make records grammar more orthogonalAleksey Kladov2020-04-111-22/+5
| | | | | | | | | | | | | | | | | | | | | | | | We used name [: expr] grammar before, now it is [name :] expr which makes things simpler
* | Align namingAleksey Kladov2020-04-111-2/+1
| |
* | Pull Expander upAleksey Kladov2020-04-111-5/+3
| |
* | SimplifyAleksey Kladov2020-04-111-8/+3
| |