aboutsummaryrefslogtreecommitdiff
path: root/crates/hir_def/src/item_tree/lower.rs
Commit message (Collapse)AuthorAgeFilesLines
* Intern `GenericArgs`Jonas Schievink2021-05-241-1/+1
| | | | This shaves off another ~4 mb or so
* internal: intern `TypeBound`sJonas Schievink2021-05-241-5/+6
| | | | | Doesn't save much memory (~2 mb), but interning things is generally a good pattern to follow
* Remove `StructDefKind`Jonas Schievink2021-05-211-6/+1
|
* Don't lower extern block in the ItemTreeJonas Schievink2021-05-211-20/+29
|
* Precompute macro fragment kindJonas Schievink2021-05-091-1/+2
|
* Don't store call-site text offsets in hygiene infoJonas Schievink2021-05-061-15/+19
|
* Support macros in pattern positionJonas Schievink2021-04-111-1/+1
|
* Intern `GenericParams`Jonas Schievink2021-04-051-4/+4
| | | | | Also share the same instance between `ItemTree` and `generic_params` query.
* Add `GenericParams::shrink_to_fit`Jonas Schievink2021-04-051-0/+1
| | | | Reduces memory usage by over 10 MB
* Check if bitflags deps pulls its weightAleksey Kladov2021-04-041-9/+9
| | | | | | | | Bitflags is generally a good dependency -- it's lightweight, well maintained and embraced by the ecosystem. I wonder, however, do we really need it? Doesn't feel like it adds much to be honest.
* Use bitflags to compress function propertiesJonas Schievink2021-04-031-26/+40
| | | | Very minor savings, only 1 MB or so
* Intern `ModPath` in `Import`Jonas Schievink2021-04-031-1/+1
| | | | Minor savings only
* Intern Attr, MacroCall and Path componentsJonas Schievink2021-04-011-1/+1
|
* Global TypeRef/TraitRef interningJonas Schievink2021-04-011-13/+10
|
* Fix block inner item defined in macroEdwin Cheng2021-03-311-0/+6
|
* Remove TraitRef::ErrorLukas Wirth2021-03-291-4/+7
|
* Rename target_ty to self_tyLukas Wirth2021-03-291-2/+2
|
* Lower traits to TraitRef instead of TypeRefLukas Wirth2021-03-291-2/+8
|
* Fix recursive macro statement expansionEdwin Cheng2021-03-251-8/+0
|
* Merge #8082bors[bot]2021-03-181-0/+8
|\ | | | | | | | | | | | | | | | | | | | | | | 8082: Proper handle inner recursive macro rules cases r=edwin0cheng a=edwin0cheng Fixes #7645 cc @jonas-schievink bors r+ Co-authored-by: Edwin Cheng <[email protected]>
| * Handle inner recursive macro rules casesEdwin Cheng2021-03-181-0/+8
| |
* | ItemTree: lower attributes on fn parametersJonas Schievink2021-03-171-16/+25
|/
* Use hir formatter moreoxalica2021-03-151-2/+6
|
* Introduce FunctionQualifier for hir::FunctionDataoxalica2021-03-151-4/+23
|
* Use upstream cov-markLaurențiu Nicola2021-03-081-1/+1
|
* Make `ModPath`'s representation privateJonas Schievink2021-02-041-1/+2
|
* Intern `TypeRef`s in the containing `ItemTree`Jonas Schievink2021-02-041-5/+13
|
* Add a FIXME to ItemTreeJonas Schievink2021-02-031-0/+1
|
* ItemTree: Treat items in `MacroStmts` as top-levelJonas Schievink2021-01-281-0/+26
|
* Derive Default on ItemTreeLaurențiu Nicola2021-01-251-1/+1
|
* Remove unused fieldJonas Schievink2021-01-211-4/+0
|
* Fix lowering with multiple block expressionsJonas Schievink2021-01-211-15/+23
|
* Create a mapping from blocks to inner itemsJonas Schievink2021-01-201-9/+24
|
* Use ‘index’ terminology for arena consistentlyAramis Razzaghipour2021-01-171-2/+2
|
* Don't look at attributes when lowering to ItemTreeJonas Schievink2020-12-181-6/+1
| | | | Resolves 2 `cfg_attr` FIXMEs
* Refactor attributes API to allow handling cfg_attrJonas Schievink2020-12-181-9/+8
|
* Avoid querying attributes in item tree loweringJonas Schievink2020-12-161-22/+2
| | | | | | | | ItemTree is per-file, so there is no unique crate associated with it. This means that it cannot know the active CfgOptions and thus couldn't handle `cfg_attr`. Prepare it for `cfg_attr`s by avoiding accessing attributes.
* Node-ify lifetimesLukas Wirth2020-12-161-2/+2
|
* Basic support for decl macros 2.0Jonas Schievink2020-12-151-1/+15
|
* Move to upstream `macro_rules!` modelJonas Schievink2020-12-151-7/+17
|
* Add LifetimeParam resolving to SemanticsLukas Wirth2020-12-141-3/+2
|
* Add Lifetimes to the HIRLukas Wirth2020-12-111-8/+12
|
* Ignore extern items in incorrect-case checkJonas Schievink2020-12-101-5/+8
|
* Refactor is_intrinsic_fn_unsafe() and make it privateFrancesco Zardi2020-10-211-39/+42
|
* Add whitelist of safe intrinsicsFrancesco Zardi2020-10-211-2/+42
|
* Differentiate method/tymethod by determining 'defaultness'Zac Pullar-Strecker2020-10-081-0/+3
| | | | | | | | | Currently a method only has defaultness if it is a provided trait method, but this will change when specialisation is available and may need to become a concept known to hir. I opted to go for a 'fewest changes' approach given specialisation is still under development.
* Give `ExternCrate` a `Name`, not a `ModPath`Jonas Schievink2020-09-171-2/+2
|
* Merge #6016bors[bot]2020-09-171-1/+2
|\ | | | | | | | | | | | | | | | | | | 6016: Emit diagnostics for unresolved imports and extern crates r=jonas-schievink a=jonas-schievink AFAIK, we don't have any major bugs in name resolution that would cause a lot of false positives here (except procedural attribute macro support and some rare issues around `#[path]` on module files), so these are *not* marked as experimental diagnostics right now. I noticed that diagnostics in a file sometimes don't get displayed after opening, but require some edit to be performed. This seems like a preexisting issue though. Co-authored-by: Jonas Schievink <[email protected]>
| * Store `Import` indices for later reconstructionJonas Schievink2020-09-161-1/+2
| |
* | Update chalk to 0.27 and adapt to chalk changes.Charles Lew2020-09-151-2/+4
|/