aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_hir_def/src/body/lower.rs
Commit message (Collapse)AuthorAgeFilesLines
* Scale back to only two traitsAleksey Kladov2020-04-091-1/+0
|
* Provide more complete AST accessors to support usage in rustcLuca Barbieri2020-04-091-3/+7
|
* Macro patterns are not confused with expressions.Aleksey Kladov2020-04-031-2/+1
| | | | | | | | | | | We treat macro calls as expressions (there's appropriate Into impl), which causes problem if there's expresison and non-expression macro in the same node (like in the match arm). We fix this problem by nesting macor patterns into another node (the same way we nest path into PathExpr or PathPat). Ideally, we probably should add a similar nesting for macro expressions, but that needs some careful thinking about macros in blocks: `{ am_i_expression!() }`.
* lower bool literal with the value from source code rather than default bool ↵Josh Mcguigan2020-04-011-1/+1
| | | | value
* lower literal patternsJosh Mcguigan2020-04-011-21/+33
|
* Get rid of ItemOrMacroAleksey Kladov2020-03-261-1/+2
|
* Add support for macro in symbo_indexEdwin Cheng2020-03-221-11/+1
|
* Simplify Arena to use a generic indexAleksey Kladov2020-03-191-3/+3
|
* Use `dyn Trait` for working with databseAleksey Kladov2020-03-161-7/+4
| | | | | | | It improves compile time in `--release` mode quite a bit, it doesn't really slow things down and, conceptually, it seems closer to what we want the physical architecture to look like (we don't want to monomorphise EVERYTHING in a single leaf crate).
* Support local macro_rulesEdwin Cheng2020-03-141-12/+36
|
* Explicitly remember desugard patsAleksey Kladov2020-03-061-4/+8
|
* Explicitly remember desugard exprsAleksey Kladov2020-03-061-15/+16
|
* Rename ast::ImplBlock -> ast::ImplDefAleksey Kladov2020-02-291-1/+1
|
* Fix handling of const patternsFlorian Diebold2020-02-211-3/+35
| | | | | | | | | E.g. in `match x { None => ... }`, `None` is a path pattern (resolving to the option variant), not a binding. To determine this, we need to try to resolve the name during lowering. This isn't too hard since we already need to resolve names for macro expansion anyway (though maybe a bit hacky). Fixes #1618.
* Run cargo +nightly fix --clippy -Z unstable-optionsKirill Bulatov2020-02-181-1/+1
|
* Merge #3062bors[bot]2020-02-111-4/+12
|\ | | | | | | | | | | | | | | | | | | 3062: Implement slice pattern AST > HIR lowering r=jplatte a=jplatte WIP. The necessary changes for parsing are implemented, but actual inference is not yet. Just wanted to upload what I've got so far so it doesn't get duplicated :) Will fix #3043 Co-authored-by: Jonas Platte <[email protected]>
| * Implement slice pattern AST > HIR loweringJonas Platte2020-02-111-4/+12
| |
* | Add or- and parenthesized-patternsMatthew Jasper2020-02-091-5/+10
|/
* Merge #2650bors[bot]2019-12-291-7/+13
|\ | | | | | | | | | | | | | | 2650: Add macro call support for SourceAnalyzer::type_of r=matklad a=edwin0cheng Co-authored-by: Edwin Cheng <[email protected]>
| * Use pre-stored macro fileEdwin Cheng2019-12-231-7/+13
| |
* | Rename ResolvedVisibility -> VisibilityFlorian Diebold2019-12-261-1/+1
| |
* | Keep track of visibility during def collectionFlorian Diebold2019-12-261-1/+4
|/
* Rudimentary name resolution for local itemsAleksey Kladov2019-12-221-10/+22
|
* Share impl Scope between modules and blocksAleksey Kladov2019-12-221-2/+2
|
* Handle closure return typesFlorian Diebold2019-12-201-1/+2
| | | | Fixes #2547.
* Support for nested traitsAleksey Kladov2019-12-201-2/+9
|
* Support for nested statics, consts and type aliasesAleksey Kladov2019-12-201-1/+14
|
* Support for nested ADTAleksey Kladov2019-12-201-7/+19
|
* Introduce `ContainerId`Aleksey Kladov2019-12-201-2/+2
|
* Rename ContainerId -> AssocContainerIdAleksey Kladov2019-12-201-2/+2
|
* Add local functions to bodiesAleksey Kladov2019-12-201-2/+22
|
* Allow storing defs in bodiesAleksey Kladov2019-12-191-0/+1
|
* Rename N! to name!Florian Diebold2019-12-131-2/+2
|
* Add macros for known names and pathsFlorian Diebold2019-12-131-2/+2
|
* Expand macros in blocks to expressions for nowFlorian Diebold2019-12-081-3/+4
| | | | Expanding to statements isn't handled properly yet and breaks things.
* Replace `ra_hir_expand::either` with crateice10002019-12-031-9/+7
|
* Reduce variants of Exproxalica2019-11-291-14/+5
|
* Infer range typesoxalica2019-11-281-2/+20
|
* DocsAleksey Kladov2019-11-241-1/+2
|
* Get rid of DefDatabase2Aleksey Kladov2019-11-231-3/+3
|
* Fix test mark placementAleksey Kladov2019-11-211-1/+1
|
* Restore a markAleksey Kladov2019-11-211-0/+2
|
* Slightly better namingAleksey Kladov2019-11-141-1/+1
|
* Handle macro-generated expressions slightly less wrongAleksey Kladov2019-11-141-13/+11
|
* Move expansion to ExpanderAleksey Kladov2019-11-141-25/+7
|
* Move parse_path to ExpanderAleksey Kladov2019-11-141-10/+6
|
* Expansion stack scaffoldAleksey Kladov2019-11-141-6/+3
|
* Add Expader::to_sourceAleksey Kladov2019-11-141-10/+4
|
* Move original_file to ExpanderAleksey Kladov2019-11-141-8/+4
|
* Rename MacroResolver -> ExpanderAleksey Kladov2019-11-141-17/+17
|