bors
fa521a4691
Auto merge of #101688 - cjgillot:verify-hir-parent, r=petrochenkov
...
Assert that HIR nodes are not their own parent.
Fixes https://github.com/rust-lang/rust/issues/101505 .
Replaces #101513
r? `@petrochenkov` `@nnethercote`
2022-09-12 00:41:56 +00:00
Camille GILLOT
51f486931f
Assert that HIR nodes are not their own parent.
2022-09-11 20:12:51 +02: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
Eric Holk
f921f5626d
Use parent_iter instead of a find_parent_node loop
2022-08-31 11:15:38 -07:00
Dylan DPC
5555e13a6e
Rollup merge of #99821 - cjgillot:ast-lifetimes-2, r=compiler-errors
...
Remove separate indexing of early-bound regions
~Based on https://github.com/rust-lang/rust/pull/99728.~
This PR copies some modifications from https://github.com/rust-lang/rust/pull/97839 around object lifetime defaults.
These modifications allow to stop counting generic parameters during lifetime resolution, and rely on the indexing given by `rustc_typeck::collect`.
2022-08-29 16:49:39 +05:30
Yuki Okushi
aa6b750854
Rollup merge of #101057 - cjgillot:one-fn-sig, r=compiler-errors
...
Merge implementations of HIR fn_decl and fn_sig.
2022-08-27 13:14:24 +09:00
Camille GILLOT
20012ea4eb
Merge implementations of HIR fn_decl and fn_sig.
2022-08-26 21:38:20 +02:00
bors
8818b00b63
Auto merge of #99963 - cjgillot:iter-submodule, r=compiler-errors
...
Simplify implementation for par_for_each_module
2022-08-22 23:09:35 +00:00
Eric Huss
b651c1cebe
Check attributes on struct expression fields.
...
Attributes on struct expression fields were not being checked for
validity. This adds the fields as HIR nodes so that `CheckAttrVisitor`
can visit those nodes to check their attributes.
2022-08-11 21:48:39 -07:00
Eric Huss
1b464c73b7
Check attributes on pattern fields.
...
Attributes on pattern struct fields were not being checked for validity.
This adds the fields as HIR nodes so that the `CheckAttrVisitor` can
visit those nodes to check their attributes.
2022-08-11 21:48:39 -07:00
Camille GILLOT
236ccce79e
Create a specific ObjectLifetimeDefault enum.
2022-08-03 18:42:03 +02:00
Camille GILLOT
4c5ec30342
Inline a few short methods.
2022-07-30 22:44:49 +02:00
Camille GILLOT
905834232b
Simplify implementation for par_for_each_module.
2022-07-30 22:44:23 +02:00
Miguel Guarniz
0c609a4c1f
Change enclosing_body_owner to return LocalDefId
...
Signed-off-by: Miguel Guarniz <mi9uel9@gmail.com>
2022-07-29 18:26:10 -04:00
Miguel Guarniz
16513d689e
Rename local_did to def_id
...
Signed-off-by: Miguel Guarniz <mi9uel9@gmail.com>
2022-07-29 18:26:10 -04:00
Miguel Guarniz
25bdc8965e
Change maybe_body_owned_by to take local def id
...
Signed-off-by: Miguel Guarniz <mi9uel9@gmail.com>
2022-07-29 18:25:58 -04:00
SparrowLii
e2ecb68a0e
use par_for_each_in in par_body_owners and collect_crate_mono_items
2022-07-19 17:00:51 +08:00
bors
30243dd87e
Auto merge of #98203 - kckeiks:gather-body-owners-in-hir-item-queries, r=cjgillot
...
gather body owners
Issue #96341
2022-07-15 01:03:55 +00:00
bors
f1a8854f9b
Auto merge of #99231 - Dylan-DPC:rollup-0tl8c0o, r=Dylan-DPC
...
Rollup of 5 pull requests
Successful merges:
- #97720 (Always create elided lifetime parameters for functions)
- #98315 (Stabilize `core::ffi:c_*` and rexport in `std::ffi`)
- #98705 (Implement `for<>` lifetime binder for closures)
- #99126 (remove allow(rustc::potential_query_instability) in rustc_span)
- #99139 (Give a better error when `x dist` fails for an optional tool)
Failed merges:
r? `@ghost`
`@rustbot` modify labels: rollup
2022-07-14 11:00:30 +00:00
Joshua Nelson
3c9765cff1
Rename debugging_opts to unstable_opts
...
This is no longer used only for debugging options (e.g. `-Zoutput-width`, `-Zallow-features`).
Rename it to be more clear.
2022-07-13 17:47:06 -05:00
Miguel Guarniz
2d265b6f75
collect module item-likes in visit_items
...
Signed-off-by: Miguel Guarniz <mi9uel9@gmail.com>
2022-07-13 13:54:45 -04:00
Miguel Guarniz
275497c35e
merge visitors in queries
...
Signed-off-by: Miguel Guarniz <mi9uel9@gmail.com>
2022-07-13 12:22:49 -04:00
Miguel Guarniz
b599cf45d6
inline associated_body
...
Signed-off-by: Miguel Guarniz <mi9uel9@gmail.com>
2022-07-13 12:22:49 -04:00
Miguel Guarniz
c6e7c0514f
use gathered body_owners in par_body_owners
...
Signed-off-by: Miguel Guarniz <mi9uel9@gmail.com>
2022-07-13 12:22:25 -04:00
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
bors
eba361ae36
Auto merge of #98482 - cjgillot:short-struct-span-closure, r=estebank
...
Shorten def_span of closures to just their header
Continuation of https://github.com/rust-lang/rust/pull/93967 .
2022-07-08 03:05:15 +00:00
bors
1517f5de01
Auto merge of #99024 - matthiaskrgr:rollup-8ygpcpg, r=matthiaskrgr
...
Rollup of 9 pull requests
Successful merges:
- #97917 (Implement ExitCodeExt for Windows)
- #98844 (Reword comments and rename HIR visiting methods.)
- #98979 (interpret: use AllocRange in UninitByteAccess)
- #98986 (Fix missing word in comment)
- #98994 (replace process exit with more detailed exit in src/bootstrap/*.rs)
- #98995 (Add a test for #80471 )
- #99002 (suggest adding a derive for #[default] applied to variants)
- #99004 (Add a test for #70408 )
- #99017 (Replace boolean argument for print_where_clause with an enum to make code more clear)
Failed merges:
r? `@ghost`
`@rustbot` modify labels: rollup
2022-07-07 20:55:34 +00:00
bors
0f573a0c54
Auto merge of #95573 - cjgillot:lower-query, r=michaelwoerister
...
Make lowering a query
Split from https://github.com/rust-lang/rust/pull/88186 .
This PR refactors the relationship between lowering and the resolver outputs in order to make lowering itself a query.
In a first part, lowering is changed to avoid modifying resolver outputs, by maintaining its own data structures for creating new `NodeId`s and so.
Then, the `TyCtxt` is modified to allow creating new `LocalDefId`s from inside it. This is done by:
- enclosing `Definitions` in a lock, so as to allow modification;
- creating a query `register_def` whose purpose is to declare a `LocalDefId` to the query system.
See `TyCtxt::create_def` and `TyCtxt::iter_local_def_id` for more detailed explanations of the design.
2022-07-07 18:14:44 +00:00
Camille GILLOT
111df9e6ed
Reword comments and rename HIR visiting methods.
2022-07-07 16:01:43 +02:00
Camille GILLOT
8cc87250ef
Shorten span for closures.
2022-07-07 09:27:42 +02:00
bors
fac8fa5672
Auto merge of #98487 - cjgillot:variance-nohir, r=wesleywiser
...
Do not fetch HIR to compute variances.
Everything can be done using higher-level queries. This simplifies the code, and should allow better incremental caching.
2022-07-07 01:17:36 +00:00
Miguel Guarniz
01a957e92a
record LocalDefId of closure
...
Signed-off-by: Miguel Guarniz <mi9uel9@gmail.com>
2022-07-06 19:17:29 -04:00
Miguel Guarniz
b53dd71faa
gather body owners
...
Signed-off-by: Miguel Guarniz <mi9uel9@gmail.com>
2022-07-06 19:17:16 -04:00
Camille GILLOT
250c71b85d
Make AST lowering a query.
2022-07-06 23:04:55 +02:00
Camille GILLOT
43bb31b954
Allow to create definitions inside the query system.
2022-07-06 22:50:55 +02:00
Guillaume Gomez
d712f67897
Rollup merge of #98519 - TaKO8Ki:add-head-span-field-to-item-and-impl-item, r=cjgillot
...
Replace some `guess_head_span` with `def_span`
This patch fixes a part of #97417 .
r? `@cjgillot`
2022-07-06 20:43:24 +02:00
Takayuki Maeda
0541b4e034
use named_span in case of tuple variant
2022-07-06 19:09:50 +09:00
Takayuki Maeda
3d1b679a3c
add Node::Variant to Map::opt_span
2022-07-06 19:09:50 +09:00
Dylan DPC
707c0d9a2d
Rollup merge of #98881 - cjgillot:q-def-kind, r=fee1-dead
...
Only compute DefKind through the query.
2022-07-06 14:49:08 +05:30
fee1-dead
31629860e8
Fix double space
2022-07-06 17:02:58 +08:00
Alan Egerton
e4b9625b87
Add #[derive(TypeVisitable)]
2022-07-05 22:25:15 +01:00
Camille GILLOT
e3d63203a3
Only compute DefKind through the query.
2022-07-04 10:42:23 +02:00
Dylan DPC
d287726aa0
Rollup merge of #98639 - camsteffen:no-node-binding, r=compiler-errors
...
Factor out `hir::Node::Binding`
2022-07-02 12:23:38 +05:30
Camille GILLOT
42e4eee893
Shorten def_span for more items.
2022-07-01 17:39:19 +02:00
Cameron Steffen
ec82bc1996
Factor out hir::Node::Binding
2022-07-01 10:04:19 -05:00
Camille GILLOT
3df10a2a90
Do not fetch HIR to compute variances.
2022-06-28 18:14:33 +02:00
Camille GILLOT
f446bbce72
Fix parallel compiler.
2022-06-22 08:04:24 +02:00
Camille GILLOT
9ae2546907
Only keep a single well-formed query.
2022-06-21 23:56:17 +02:00
bors
cdcc53b7dc
Auto merge of #98153 - nnethercote:fix-MissingDoc-quadratic-behaviour, r=cjgillot
...
Fix `MissingDoc` quadratic behaviour
Best reviewed one commit at a time.
r? `@cjgillot`
2022-06-18 09:57:00 +00:00