Deadbeef
4fb10c0ce4
parse const closures
2023-01-12 02:28:37 +00:00
Nilstrieb
9067e4417e
Rename Rptr
to Ref
in AST and HIR
...
The name makes a lot more sense, and `ty::TyKind` calls it `Ref` already
as well.
2022-12-28 18:52:36 +01:00
Matthias Krüger
1a2f79b82c
Rollup merge of #105050 - WaffleLapkin:uselessrefign, r=jyn514
...
Remove useless borrows and derefs
They are nothing more than noise.
<sub>These are not all of them, but my clippy started crashing (stack overflow), so rip :(</sub>
2022-12-03 17:37:42 +01:00
Matthias Krüger
c89bff29e5
Rollup merge of #104199 - SarthakSingh31:issue-97417-1, r=cjgillot
...
Keep track of the start of the argument block of a closure
This removes a call to `tcx.sess.source_map()` from [compiler/rustc_trait_selection/src/traits/error_reporting/mod.rs](https://github.com/rust-lang/rust/compare/master...SarthakSingh31:issue-97417-1?expand=1#diff-8406bbc0d0b43d84c91b1933305df896ecdba0d1f9269e6744f13d87a2ab268a ) as required by #97417 .
VsCode automatically applied `rustfmt` to the files I edited under `src/tools`. I can undo that if its a problem.
r? `@cjgillot`
2022-12-03 17:37:41 +01:00
Maybe Waffle
f2b97a8bfe
Remove useless borrows and derefs
2022-12-01 17:34:43 +00:00
Vadim Petrochenkov
1f259ae679
rustc_hir: Change representation of import paths to support multiple resolutions
2022-12-01 18:51:05 +03:00
Vadim Petrochenkov
6cd4dd3091
rustc_hir: Relax lifetime requirements on Visitor::visit_path
2022-12-01 17:04:02 +03:00
Sarthak Singh
8f705e2425
Keep track of the start of the argument block of a closure
2022-11-28 14:09:00 +05:30
Camille GILLOT
fb7d25e978
Separate lifetime ident from resolution in HIR.
2022-11-23 19:33:06 +00:00
Camille GILLOT
9d20aca983
Store a LocalDefId in hir::Variant & hir::Field.
2022-11-13 14:06:51 +00:00
Camille GILLOT
290f0781b4
Store LocalDefId in hir::Closure.
2022-11-13 14:04:02 +00:00
Santiago Pastorino
ba18f16e81
Add visit_fn_ret_ty to hir intravisit
2022-11-03 10:41:22 -03:00
Samuel Moelius
e604327286
Reorder walk_
functions in intravisit.rs
2022-11-01 19:02:45 -04:00
Yuki Okushi
2125181b7d
Rollup merge of #103692 - smoelius:walk_generic_arg, r=fee1-dead
...
Add `walk_generic_arg`
Could this please be added?
I could use it for a Clippy lint.
2022-11-01 12:03:41 +09:00
Nicholas Nethercote
c8c25ce5a1
Rename some OwnerId
fields.
...
spastorino noticed some silly expressions like `item_id.def_id.def_id`.
This commit renames several `def_id: OwnerId` fields as `owner_id`, so
those expressions become `item_id.owner_id.def_id`.
`item_id.owner_id.local_def_id` would be even clearer, but the use of
`def_id` for values of type `LocalDefId` is *very* widespread, so I left
that alone.
2022-10-29 20:28:38 +11:00
Samuel Moelius
86a4009586
Add walk_generic_arg
2022-10-28 10:36:42 -04:00
Michael Goulet
70f3c79c50
ImplItemKind::TyAlias => ImplItemKind::Type
2022-10-09 07:09:57 +00:00
Camille GILLOT
337a73da6e
Do not overwrite binders for another HirId.
2022-09-27 18:58:37 +02:00
Nicholas Nethercote
7e3fd33a66
Remove unused argument from visit_poly_trait_ref
.
2022-09-12 13:51:10 +10:00
Nicholas Nethercote
9ec5bda0dc
Remove unused span argument from visit_name
.
2022-09-12 13:44:29 +10:00
Nicholas Nethercote
925363f13d
Remove unused span argument from walk_fn
.
2022-09-12 13:24:27 +10:00
Nicholas Nethercote
6568ef338e
Remove path_span
argument to the visit_path_segment
methods.
...
The `visit_path_segment` method of both the AST and HIR visitors has a
`path_span` argument that isn't necessary. This commit removes it.
There are two very small and inconsequential functional changes.
- One call to `NodeCollector::insert` now is passed a path segment
identifier span instead of a full path span. This span is only used in
a panic message printed in the case of an internal compiler bug.
- Likewise, one call to `LifetimeCollectVisitor::record_elided_anchor`
now uses a path segment identifier span instead of a full path span.
This span is used to make some `'_` lifetimes.
2022-09-12 13:24:25 +10:00
Camille GILLOT
05812df603
Handle generic parameters.
2022-09-09 01:31:46 +00:00
Michael Goulet
78b962a4f3
RPITIT placeholder items
2022-09-09 01:31:44 +00:00
bors
b44197abb0
Auto merge of #101261 - TaKO8Ki:separate-receiver-from-arguments-in-hir, r=cjgillot
...
Separate the receiver from arguments in HIR
Related to #100232
cc `@cjgillot`
2022-09-05 16:21:40 +00:00
Takayuki Maeda
87c6da363f
separate the receiver from arguments in HIR
2022-09-05 22:25:49 +09:00
Nicholas Nethercote
bb0ae3c446
Make hir::PathSegment::hir_id
non-optional.
2022-09-05 14:20:25 +10:00
Nicholas Nethercote
3e04fed6fa
Remove {ast,hir}::WhereEqPredicate::id
.
...
These fields are unused.
2022-08-16 12:13:23 +10:00
Eric Huss
dcd5177fd4
Add visitors for PatField and ExprField.
...
This helps simplify the code. It also fixes it to use the correct parent
when lowering. One consequence is the `non_snake_case` lint needed
to change the way it looked for parent nodes in a struct pattern.
This also includes a small fix to use the correct `Target` for
expression field attribute validation.
2022-08-11 21:48:39 -07:00
Nicholas Nethercote
b8b851f42e
Simplify rustc_hir::intravisit::Visitor::visit_enum_def
.
...
It is passed an argument that is never used.
2022-08-11 11:10:03 +10:00
Nicholas Nethercote
8c5303898e
Simplify rustc_hir::intravisit::Visitor::visit_variant_data
.
...
It has four arguments that are never used. This avoids lots of argument
passing in functions that feed into `visit_variant_data`.
2022-08-11 10:54:01 +10:00
Camille GILLOT
212a06ee69
Match on TraitItem exhaustively.
2022-08-01 21:39:59 +02:00
Camille GILLOT
110f0656cb
Store associated item defaultness in impl_defaultness.
2022-08-01 21:38:16 +02:00
Camille GILLOT
10be0dd8df
Replace LifetimeRes::Anonymous by LifetimeRes::Infer.
2022-07-26 19:00:31 +02:00
Camille GILLOT
ab63591f00
Remove the distinction between LifetimeName::Implicit and LifetimeName::Underscore.
2022-07-26 19:00:31 +02:00
Dylan DPC
e5a86d7358
Rollup merge of #98705 - WaffleLapkin:closure_binder, r=cjgillot
...
Implement `for<>` lifetime binder for closures
This PR implements RFC 3216 ([TI](https://github.com/rust-lang/rust/issues/97362 )) and allows code like the following:
```rust
let _f = for<'a, 'b> |a: &'a A, b: &'b B| -> &'b C { b.c(a) };
// ^^^^^^^^^^^--- new!
```
cc ``@Aaron1011`` ``@cjgillot``
2022-07-14 14:14:21 +05:30
Maybe Waffle
df4fee9841
Add an indirection for closures in hir::ExprKind
...
This helps bring `hir::Expr` size down, `Closure` was the biggest
variant, especially after `for<>` additions.
2022-07-12 21:00:13 +04:00
Maybe Waffle
c2dbd62c7c
Lower closure binders to hir & properly check them
2022-07-12 21:00:03 +04:00
Ding Xiang Fei
5374688e1d
add tests for async await
2022-07-11 23:20:39 +02:00
Ding Xiang Fei
1cd30e7b32
move else block into the Local
struct
2022-07-11 23:20:37 +02:00
Ding Xiang Fei
6c529ded86
lower let-else in MIR instead
2022-07-11 23:20:36 +02:00
Camille GILLOT
111df9e6ed
Reword comments and rename HIR visiting methods.
2022-07-07 16:01:43 +02:00
bors
5ffa8f67b7
Auto merge of #98222 - cjgillot:single-wf, r=michaelwoerister
...
Only keep a single query for well-formed checking
There are currently 3 queries to perform wf checks on different item-likes. This complexity is not required.
This PR replaces the query by:
- one query per item;
- one query to invoke it for a whole module.
This allows to remove HIR `ParItemLikeVisitor`.
2022-06-28 03:44:33 +00:00
Camille GILLOT
9ae2546907
Only keep a single well-formed query.
2022-06-21 23:56:17 +02:00
Camille GILLOT
7437136f0e
Use CreateParameter mode for closures too.
2022-06-21 21:13:43 +02:00
Nicholas Nethercote
c9e97251ad
Remove unused hir_id
arg from visit_attribute
.
2022-06-16 09:52:04 +10:00
Camille GILLOT
3039cfeb6a
Make ExprKind::Closure
a struct variant.
2022-06-12 00:16:27 +02:00
Camille GILLOT
b1294e86bb
Manipulate lifetimes by LocalDefId for region resolution.
2022-06-03 12:03:20 +02:00
bors
07ae142d77
Auto merge of #96863 - SparrowLii:let, r=michaelwoerister
...
use `hir::Let` in `hir::Guard::IfLet`
This PR fixes the FIXME about using `hir::Let` in `hir::Guard::IfLet`
2022-05-18 17:48:46 +00:00
Miguel Guarniz
f975d05116
rename visit item-like methods
...
Signed-off-by: Miguel Guarniz <mi9uel9@gmail.com>
2022-05-13 11:46:06 -04:00