Michael Goulet
dcca9a12cd
Record coroutine kind in generics
2024-02-07 16:18:31 +00:00
Michael Goulet
c567eddec2
Add CoroutineClosure to TyKind, AggregateKind, UpvarArgs
2024-02-06 02:22:58 +00:00
Michael Goulet
a20421734b
Make async closures directly lower to ClosureKind::CoroutineClosure
2024-02-06 02:22:58 +00:00
Nicholas Nethercote
cfdea760f5
Rename TyCtxt::struct_span_lint_hir
as TyCtxt::node_span_lint
.
2024-01-23 08:09:01 +11:00
León Orell Valerian Liehr
8f546aa495
Turn a bug!() into a span_delay_bug()
...
No reason why this needs to be a `bug!()`.
2024-01-02 13:49:47 +01:00
bors
1ab783112a
Auto merge of #119258 - compiler-errors:closure-kind, r=eholk
...
Make closures carry their own ClosureKind
Right now, we use the "`movability`" field of `hir::Closure` to distinguish a closure and a coroutine. This is paired together with the `CoroutineKind`, which is located not in the `hir::Closure`, but the `hir::Body`. This is strange and redundant.
This PR introduces `ClosureKind` with two variants -- `Closure` and `Coroutine`, which is put into `hir::Closure`. The `CoroutineKind` is thus removed from `hir::Body`, and `Option<Movability>` no longer needs to be a stand-in for "is this a closure or a coroutine".
r? eholk
2023-12-26 04:25:53 +00:00
Michael Goulet
3320c09eab
Only regular coroutines have movability
2023-12-25 21:13:41 +00:00
Michael Goulet
909dd864f1
Make closures carry their own ClosureKind, rather than deducing what it is from movability
2023-12-25 16:29:15 +00:00
Nicholas Nethercote
99472c7049
Remove Session
methods that duplicate DiagCtxt
methods.
...
Also add some `dcx` methods to types that wrap `TyCtxt`, for easier
access.
2023-12-24 08:05:28 +11:00
Michael Goulet
7f565ed282
Don't pass lint back out of lint decorator
2023-12-15 16:05:36 +00:00
zetanumbers
24f009c5e5
Move some methods from tcx.hir()
to tcx
...
Renamings:
- find -> opt_hir_node
- get -> hir_node
- find_by_def_id -> opt_hir_node_by_def_id
- get_by_def_id -> hir_node_by_def_id
Fix rebase changes using removed methods
Use `tcx.hir_node_by_def_id()` whenever possible in compiler
Fix clippy errors
Fix compiler
Apply suggestions from code review
Co-authored-by: Vadim Petrochenkov <vadim.petrochenkov@gmail.com>
Add FIXME for `tcx.hir()` returned type about its removal
Simplify with with `tcx.hir_node_by_def_id`
2023-12-12 06:40:29 -08:00
Deadbeef
65212a07e7
Remove #[rustc_host]
, use internal desugaring
2023-12-05 01:15:21 +00:00
Vadim Petrochenkov
c697927f44
rustc: hir().local_def_id_to_hir_id()
-> tcx.local_def_id_to_hir_id()
cleanup
2023-11-26 12:41:21 +03:00
Nilstrieb
21a870515b
Fix clippy::needless_borrow
in the compiler
...
`x clippy compiler -Aclippy::all -Wclippy::needless_borrow --fix`.
Then I had to remove a few unnecessary parens and muts that were exposed
now.
2023-11-21 20:13:40 +01:00
Deadbeef
9654d5ceaf
add is_host_effect
to GenericParamDefKind::Const
and address review
2023-09-11 13:18:36 +00:00
Deadbeef
92f4c59e48
lower impl const to bind to host effect param
2023-08-06 13:34:53 +00:00
León Orell Valerian Liehr
8c390286e4
Type-check generic const items
2023-07-28 22:21:41 +02:00
Mahdi Dibaiee
e55583c4b8
refactor(rustc_middle): Substs -> GenericArg
2023-07-14 13:27:35 +01:00
Deadbeef
58c105af04
include host_effect_index
in Generics
2023-07-04 17:21:52 +00:00
Deadbeef
30b21b758a
add test
2023-07-04 11:47:46 +00:00
Santiago Pastorino
d70deac161
Intern OpaqueTy on ItemKind::OpaqueTy
2023-06-29 14:05:10 -03:00
Michael Goulet
e4a6b24245
Rollup merge of #112183 - compiler-errors:new-solver-anon-ct, r=BoxyUwU
...
Normalize anon consts in new solver
We don't do any of that `expand_abstract_consts` stuff so this isn't sufficient to make GCE work, but it does allow, e.g. `[(); 1]: Default`, to solve.
r? `@BoxyUwU`
2023-06-02 16:02:06 -07:00
Michael Goulet
4fbb43e70f
No more TyCtxt::lazy_normalization
2023-06-02 22:07:57 +00:00
Camille GILLOT
ca4d0d4c24
Separate AnonConst from ConstBlock in HIR.
2023-06-02 21:25:18 +00:00
Oli Scherer
f08b517597
Require impl Trait
in associated types to appear in method signatures
2023-05-12 10:24:03 +00:00
Boxy
442617c046
misc nameres changes for anon consts
2023-05-05 21:31:35 +01:00
Michael Goulet
2eb1c08e43
Use local key in providers
2023-03-21 15:38:51 +00:00
Michael Goulet
cec7835d7a
Move late-bound arg type checks to resolve_bound_vars
2023-02-18 03:28:54 +00:00
Michael Goulet
eff2cb7760
Rename some region-specific stuff
2023-02-16 03:39:59 +00:00
Maybe Waffle
09485eaae1
rustc_hir_analysis
: remove ref
patterns
2023-01-17 07:48:19 +00:00
Michael Goulet
0a2b55d4c8
Revert "Make nested RPITIT inherit the parent opaque's generics." and adjust test
...
This reverts commit e2d41f4c97
.
2023-01-12 06:07:53 +00:00
Michael Goulet
b1b19bd851
get_parent and find_parent
2023-01-04 00:43:13 +00:00
Michael Goulet
a313ef05a7
rename get_parent_node to parent_id
2023-01-04 00:43:13 +00:00
Matthias Krüger
62160cba7b
Rollup merge of #105410 - TaKO8Ki:fix-105257, r=BoxyUwU
...
Consider `parent_count` for const param defaults
Fixes #105257
2022-12-10 15:01:44 +01:00
Takayuki Maeda
85d7d9b6b7
add a test case for generic_const_exprs
in trait items
2022-12-08 14:11:29 +09:00
Takayuki Maeda
cb596e3015
consider parent_count
for const param defaults
2022-12-07 12:55:30 +09:00
Camille GILLOT
e2d41f4c97
Make nested RPITIT inherit the parent opaque's generics.
2022-12-04 14:38:20 +00:00
Camille GILLOT
fb7d25e978
Separate lifetime ident from resolution in HIR.
2022-11-23 19:33:06 +00:00
Camille GILLOT
18482f7b23
Store a LocalDefId in hir::GenericParam.
2022-11-13 14:05:30 +00:00
Oli Scherer
b6824ba52a
Make param index generation a bit more robust
2022-10-24 12:27:05 +00:00
Michael Goulet
70f3c79c50
ImplItemKind::TyAlias => ImplItemKind::Type
2022-10-09 07:09:57 +00:00
Maybe Waffle
a8f7e244b7
Refactor rustc lint API
2022-10-01 10:03:06 +00:00
Oli Scherer
6367e69929
Split collect.rs
2022-09-29 09:31:46 +00:00