Rémy Rakic
a13354bea0
rename BitSet
to DenseBitSet
...
This should make it clearer that this bitset is dense, with the
advantages and disadvantages that it entails.
2025-01-11 11:34:01 +00:00
Michael Goulet
9a1c5eb5b3
Begin to implement type system layer of unsafe binders
2024-12-22 21:57:57 +00:00
lcnr
9fe7750bcd
uplift fold_regions to rustc_type_ir
2024-11-28 10:40:58 +01:00
lcnr
319843d8cd
no more Reveal :(
2024-11-23 13:52:54 +01:00
Michael Goulet
0465f71d60
Stop being so bail-y in candidate assembly
2024-11-21 01:35:34 +00:00
Michael Goulet
be4b0261c2
ty::KContainer -> ty::AssocItemContainer::K
2024-11-04 04:45:52 +00:00
Michael Goulet
802f3a78a6
Merge HostPolarity and BoundConstness
2024-10-30 16:23:16 +00:00
Michael Goulet
0f5a47d088
Be better at enforcing that const_conditions is only called on const items
2024-10-24 09:46:36 +00:00
Michael Goulet
cde29b9ec9
Implement const effect predicate in new solver
2024-10-24 09:46:36 +00:00
Michael Goulet
c682aa162b
Reformat using the new identifier sorting from rustfmt
2024-09-22 19:11:29 -04:00
Nicholas Nethercote
84ac80f192
Reformat use
declarations.
...
The previous commit updated `rustfmt.toml` appropriately. This commit is
the outcome of running `x fmt --all` with the new formatting options.
2024-07-29 08:26:52 +10:00
Michael Goulet
bbcdb4fd3e
Give EarlyBinder a tcx parameter
...
We are gonna need it to uplift EarlyBinder
2024-05-26 20:04:05 -04:00
Nicholas Nethercote
bbe4efdb47
Remove #[macro_use] extern crate tracing
from rustc_ty_utils
.
2024-05-23 18:02:17 +10:00
Michael Goulet
11ec3eca74
Rename ToPredicate for Upcast
2024-05-16 14:23:47 -04:00
bors
34582118af
Auto merge of #125076 - compiler-errors:alias-term, r=lcnr
...
Split out `ty::AliasTerm` from `ty::AliasTy`
Splitting out `AliasTerm` (for use in project and normalizes goals) and `AliasTy` (for use in `ty::Alias`)
r? lcnr
2024-05-13 22:20:43 +00:00
Michael Goulet
3bcdf3058e
split out AliasTy -> AliasTerm
2024-05-13 11:59:42 -04:00
Nicholas Nethercote
c34ebba134
Remove extern crate rustc_middle
from rustc_ty_utils
.
2024-05-13 08:20:18 +10:00
León Orell Valerian Liehr
9e739b723b
Give items related to issue 33140 a more meaningful name
2024-04-30 22:27:19 +02:00
Gurinder Singh
c30e15aded
Fail candidate assembly for erroneous types
...
Trait predicates for types which have errors may still
evaluate to OK leading to downstream ICEs. Now we return
a selection error for such types in candidate assembly and
thereby prevent such issues
2024-04-16 12:42:48 +05:30
Oli Scherer
84acfe86de
Actually create ranged int types in the type system.
2024-04-08 12:02:19 +00:00
Lukas Markeffsky
99efae342e
address nits
2024-03-18 22:28:29 +01:00
Lukas Markeffsky
8ad94111ad
clean up ADT sized constraint computation
2024-03-14 21:28:47 +01:00
Lukas Markeffsky
0e7e1bfdbc
make Representability::Infinite
carry ErrorGuaranteed
2024-03-14 20:52:13 +01:00
Yoshitomo Nakanishi
9669934798
Apply EarlyBinder
only to TraitRef
in ImplTraitHeader
2024-03-07 13:56:29 +01:00
Jason Newcomb
be9b125d41
Convert TypeVisitor
and DefIdVisitor
to use VisitorResult
2024-03-05 13:28:15 -05:00
Oli Scherer
b43fbe63e7
Stop calling impl_polarity
when impl_trait_ref
was also called
2024-02-12 09:44:09 +00:00
Michael Goulet
c567eddec2
Add CoroutineClosure to TyKind, AggregateKind, UpvarArgs
2024-02-06 02:22:58 +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
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
Nicholas Nethercote
e2664eba50
Reduce exposure of some items.
2023-11-20 14:10:19 +11:00
Mark Rousskov
917f6540ed
Re-format code with new rustfmt
2023-11-15 21:45:48 -05:00
lcnr
86fa1317a3
rename ReLateBound
to ReBound
...
other changes:
- `Region::new_late_bound` -> `Region::new_bound`
- `Region::is_late_bound` -> `Region::is_bound`
2023-11-13 14:13:54 +00:00
Oli Scherer
60956837cf
s/Generator/Coroutine/
2023-10-20 21:10:38 +00:00
Michael Goulet
5ceda6b016
Adjust imports
2023-10-20 15:52:57 +00:00
Michael Goulet
b2d2184ede
Format all the let chains in compiler
2023-10-13 08:59:36 +00:00
lcnr
a4f6770d83
a small wf and clause cleanup
2023-09-29 11:34:50 +02:00
Camille GILLOT
44ac8dcc71
Remove GeneratorWitness and rename GeneratorWitnessMIR.
2023-09-23 13:47:30 +00:00
Michael Goulet
087a571e70
Record asyncness span in HIR
2023-09-21 19:18:14 +00:00
Ziru Niu
3c69a107d0
remove impl<'tcx> ToPredicate<'tcx, Clause<'tcx>> for PolyProjectionPredicate<'tcx>
2023-09-20 04:03:02 +08:00
Michael Goulet
ac6f2f0d2e
Fix a comment
2023-08-01 23:10:38 +00:00
Michael Goulet
44be25d8a2
don't create a predicate for just a comparison
2023-08-01 23:10:38 +00:00
Michael Goulet
8696fa71b3
Convert adt_sized_constraint to early-binder, use list
2023-08-01 23:10:38 +00:00
Matthias Krüger
692d764e53
Rollup merge of #114267 - compiler-errors:rpitit-opaque-bounds, r=spastorino
...
Map RPITIT's opaque type bounds back from projections to opaques
An RPITIT in a program's AST is eventually translated into both a projection GAT and an opaque. The opaque is used for default trait methods, like:
```
trait Foo {
fn bar() -> impl Sized { 0i32 }
}
```
The item bounds for both the projection and opaque are identical, and both have a *projection* self ty. This is mostly okay, since we can normalize this projection within the default trait method body to the opaque, but it does two things:
1. it leads to bugs in places where we don't normalize item bounds, like `deduce_future_output_from_obligations`
2. it leads to extra match arms that are both suspicious looking and also easy to miss
This PR maps the opaque type bounds of the RPITIT's *opaque* back to the opaque's self type to avoid this quirk. Then we can fix the UI test for #108304 (1.) and also remove a bunch of match arms (2.).
Fixes #108304
r? `@spastorino`
2023-07-31 16:57:55 +02:00
Michael Goulet
6f5c51f3f4
We don't need impl_trait_in_trait_parent_fn anymore
2023-07-31 00:42:38 +00:00
Michael Goulet
0f0ab89feb
Don't install default projection bound for RPITITs
2023-07-30 21:46:29 +00:00
Deadbeef
e6b423aebb
Remove constness
from ParamEnv
2023-07-27 15:50:42 +00:00
Michael Goulet
05f6890b3e
Rename arg_iter to iter_instantiated
2023-07-17 21:04:12 +00:00
Nicholas Nethercote
005a70e303
Remove instance_def_size_estimate
query.
...
It doesn't seem worthwhile now that `MonoItem::size_estimate` is called
much less often.
2023-07-17 08:44:48 +10:00
Mahdi Dibaiee
e55583c4b8
refactor(rustc_middle): Substs -> GenericArg
2023-07-14 13:27:35 +01:00
Santiago Pastorino
20429af7a3
Replace RPITIT current impl with new strategy that lowers as a GAT
2023-07-08 18:21:34 -03:00