Vadim Petrochenkov
38ed36bba4
hir: Preserve used syntax in TyKind::TraitObject
2021-03-18 03:02:32 +03:00
Vadim Petrochenkov
b25d3ba781
ast/hir: Rename field-related structures
...
StructField -> FieldDef ("field definition")
Field -> ExprField ("expression field", not "field expression")
FieldPat -> PatField ("pattern field", not "field pattern")
Also rename visiting and other methods working on them.
2021-03-16 11:41:24 +03:00
Camille GILLOT
38d9d09a58
Use BTreeMap to store attributes.
2021-03-09 19:28:01 +01:00
Camille GILLOT
27ef0eeaa4
Track HirId when visiting attributes.
2021-03-09 19:27:59 +01:00
Camille GILLOT
5474f17011
Remove hir::ImplItem::attrs.
2021-03-09 19:23:08 +01:00
Camille GILLOT
4bb07bedf5
Visit attributes in one go.
2021-03-09 19:09:34 +01:00
Camille GILLOT
8e816056a5
Do not store attrs in FnKind.
2021-03-09 19:09:33 +01:00
Camille GILLOT
c4e7427081
Only store a LocalDefId in hir::MacroDef.
2021-02-15 19:35:55 +01:00
Camille GILLOT
996dc8d5c5
Only store a LocalDefId in hir::ForeignItem.
2021-02-15 19:32:29 +01:00
Camille GILLOT
786a80e9ea
Only store a LocalDefId in hir::ImplItem.
2021-02-15 19:32:29 +01:00
Camille GILLOT
a871a0f111
Only store a LocalDefId in hir::TraitItem.
2021-02-15 19:32:28 +01:00
Camille GILLOT
cebbba081e
Only store a LocalDefId in hir::Item.
...
Items are guaranteed to be HIR owner.
2021-02-15 19:32:10 +01:00
Camille GILLOT
c676e358a5
Use ItemId as a strongly typed index.
2021-02-15 19:24:58 +01:00
b-naber
fdaf603102
add generic args to hir::TypeBinding
2021-02-04 16:20:56 +01:00
Esteban Küber
060dba67b7
Add loop head span to hir
2021-01-21 21:41:46 -08:00
bors
d03fe84169
Auto merge of #79328 - c410-f3r:hir-if, r=matthewjasper
...
Reintroduce hir::ExprKind::If
Basically copied and paste #59288/https://github.com/rust-lang/rust-clippy/pull/4080 with some modifications.
The vast majority of tests were fixed and now there are only a few remaining. Since I am still unable to figure out the missing pieces, any help with the following list is welcome.
- [ ] **Unnecessary `typeck` exception**: [Cheated on this one to make CI green.](https://github.com/rust-lang/rust/pull/79328/files#diff-3faee9ba23fc54a12b7c43364ba81f8c5660045c7e1d7989a02a0cee1c5b2051 )
- [x] **Incorrect span**: [Span should reference `then` and `else` separately.](https://github.com/rust-lang/rust/pull/79328/files#diff-cf2c46e82222ee4b1037a68fff8a1af3c4f1de7a6b3fd798aacbf3c0475abe3d )
- [x] **New note regarding `assert!`**: [Modified but not "wrong". Maybe can be a good thing?](https://github.com/rust-lang/rust/pull/79328/files#diff-9e0d7c89ed0224e2b62060c957177c27db43c30dfe3c2974cb6b5091cda9cfb5 )
- [x] **Inverted report location**: [Modified but not "wrong". Locations were inverted.](https://github.com/rust-lang/rust/pull/79328/files#diff-f637ce7c1f68d523a165aa9651765df05e36c4d7d279194b1a6b28b48a323691 )
- [x] **`src/test/ui/point-to-type-err-cause-on-impl-trait-return.rs` has weird errors**: [Not sure why this is happening.](https://github.com/rust-lang/rust/pull/79328/files#diff-c823c09660f5b112f95e97e8ff71f1797b6c7f37dbb3d16f8e98bbaea8072e95 )
- [x] **Missing diagnostic**: [???](https://github.com/rust-lang/rust/pull/79328/files#diff-6b8ab09360d725ba4513933827f9796b42ff9522b0690f80b76de067143af2fc )
2021-01-14 14:41:58 +00:00
Joshua Nelson
a8ff647deb
Separate out a hir::Impl
struct
...
This makes it possible to pass the `Impl` directly to functions, instead
of having to pass each of the many fields one at a time. It also
simplifies matches in many cases.
2021-01-12 20:32:33 -05:00
Caio
f85fc264fe
Reintroduce hir::ExprKind::If
2021-01-07 18:54:12 -03:00
Matthias Krüger
8a90626a46
reduce borrowing and (de)referencing around match patterns (clippy::match_ref_pats)
2021-01-02 20:09:17 +01:00
Julian Knodt
61f33bfd29
first pass at default values for const generics
...
- Adds optional default values to const generic parameters in the AST
and HIR
- Parses these optional default values
- Adds a `const_generics_defaults` feature gate
2021-01-01 10:55:10 +01:00
Yuki Okushi
1e1ba7c936
Rollup merge of #79051 - LeSeulArtichaut:if-let-guard, r=matthewjasper
...
Implement if-let match guards
Implements rust-lang/rfcs#2294 (tracking issue: #51114 ).
I probably should do a few more things before this can be merged:
- [x] Add tests (added basic tests, more advanced tests could be done in the future?)
- [x] Add lint for exhaustive if-let guard (comparable to normal if-let statements)
- [x] Fix clippy
However since this is a nightly feature maybe it's fine to land this and do those steps in follow-up PRs.
Thanks a lot `@matthewjasper` ❤️ for helping me with lowering to MIR! Would you be interested in reviewing this?
r? `@ghost` for now
2020-12-17 11:43:55 +09:00
Tomasz Miąsko
91fe548825
Retain assembly operands span when lowering AST to HIR
2020-12-06 20:48:08 +01:00
LeSeulArtichaut
77d80b22f1
Introduce if-let guards in the HIR
2020-12-06 11:48:06 +01:00
Camille GILLOT
60c3bbd844
Formatting.
2020-11-26 21:32:29 +01:00
Camille GILLOT
032f68d625
Remove ForeignMod struct.
2020-11-26 21:32:27 +01:00
Camille GILLOT
419a9186a4
Store ForeignItem in a side table.
2020-11-26 21:29:27 +01:00
Santiago Pastorino
fe922e567f
Lower inline const down to MIR
2020-10-16 15:21:18 -03:00
est31
12187b7f86
Remove unused #[allow(...)] statements from compiler/
2020-09-26 01:25:55 +02:00
mark
9e5f7d5631
mv compiler to compiler/
2020-08-30 18:45:07 +03:00