about summary refs log tree commit diff
path: root/compiler/rustc_ty_utils/src/ty.rs
AgeCommit message (Collapse)AuthorLines
2025-01-11rename `BitSet` to `DenseBitSet`Rémy Rakic-4/+4
This should make it clearer that this bitset is dense, with the advantages and disadvantages that it entails.
2024-12-22Begin to implement type system layer of unsafe bindersMichael Goulet-0/+2
2024-11-28uplift fold_regions to rustc_type_irlcnr-1/+2
2024-11-23no more Reveal :(lcnr-5/+6
2024-11-21Stop being so bail-y in candidate assemblyMichael Goulet-5/+1
2024-11-04ty::KContainer -> ty::AssocItemContainer::KMichael Goulet-1/+1
2024-10-30Merge HostPolarity and BoundConstnessMichael Goulet-1/+1
2024-10-24Be better at enforcing that const_conditions is only called on const itemsMichael Goulet-6/+7
2024-10-24Implement const effect predicate in new solverMichael Goulet-0/+9
2024-09-22Reformat using the new identifier sorting from rustfmtMichael Goulet-2/+2
2024-07-29Reformat `use` declarations.Nicholas Nethercote-2/+4
The previous commit updated `rustfmt.toml` appropriately. This commit is the outcome of running `x fmt --all` with the new formatting options.
2024-05-26Give EarlyBinder a tcx parameterMichael Goulet-2/+2
We are gonna need it to uplift EarlyBinder
2024-05-23Remove `#[macro_use] extern crate tracing` from `rustc_ty_utils`.Nicholas Nethercote-0/+1
2024-05-16Rename ToPredicate for UpcastMichael Goulet-2/+2
2024-05-13Auto merge of #125076 - compiler-errors:alias-term, r=lcnrbors-1/+1
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-13split out AliasTy -> AliasTermMichael Goulet-1/+1
2024-05-13Remove `extern crate rustc_middle` from `rustc_ty_utils`.Nicholas Nethercote-0/+1
2024-04-30Give items related to issue 33140 a more meaningful nameLeón Orell Valerian Liehr-15/+17
2024-04-16Fail candidate assembly for erroneous typesGurinder Singh-2/+2
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-08Actually create ranged int types in the type system.Oli Scherer-0/+2
2024-03-18address nitsLukas Markeffsky-7/+4
2024-03-14clean up ADT sized constraint computationLukas Markeffsky-70/+67
2024-03-14make `Representability::Infinite` carry `ErrorGuaranteed`Lukas Markeffsky-2/+2
2024-03-07Apply `EarlyBinder` only to `TraitRef` in `ImplTraitHeader`Yoshitomo Nakanishi-3/+2
2024-03-05Convert `TypeVisitor` and `DefIdVisitor` to use `VisitorResult`Jason Newcomb-7/+3
2024-02-12Stop calling `impl_polarity` when `impl_trait_ref` was also calledOli Scherer-3/+4
2024-02-06Add CoroutineClosure to TyKind, AggregateKind, UpvarArgsMichael Goulet-1/+3
2023-12-12Move some methods from `tcx.hir()` to `tcx`zetanumbers-2/+2
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-11-21Fix `clippy::needless_borrow` in the compilerNilstrieb-2/+2
`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-20Reduce exposure of some items.Nicholas Nethercote-1/+1
2023-11-15Re-format code with new rustfmtMark Rousskov-5/+1
2023-11-13rename `ReLateBound` to `ReBound`lcnr-2/+2
other changes: - `Region::new_late_bound` -> `Region::new_bound` - `Region::is_late_bound` -> `Region::is_bound`
2023-10-20s/Generator/Coroutine/Oli Scherer-2/+2
2023-10-20Adjust importsMichael Goulet-1/+1
2023-10-13Format all the let chains in compilerMichael Goulet-10/+24
2023-09-29a small wf and clause cleanuplcnr-5/+4
2023-09-23Remove GeneratorWitness and rename GeneratorWitnessMIR.Camille GILLOT-7/+1
2023-09-21Record asyncness span in HIRMichael Goulet-2/+5
2023-09-20remove `impl<'tcx> ToPredicate<'tcx, Clause<'tcx>> for ↵Ziru Niu-8/+5
PolyProjectionPredicate<'tcx>`
2023-08-01Fix a commentMichael Goulet-1/+2
2023-08-01don't create a predicate for just a comparisonMichael Goulet-4/+10
2023-08-01Convert adt_sized_constraint to early-binder, use listMichael Goulet-4/+7
2023-07-31Rollup merge of #114267 - compiler-errors:rpitit-opaque-bounds, r=spastorinoMatthias Krüger-2/+4
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-31We don't need impl_trait_in_trait_parent_fn anymoreMichael Goulet-2/+4
2023-07-30Don't install default projection bound for RPITITsMichael Goulet-1/+3
2023-07-27Remove `constness` from `ParamEnv`Deadbeef-77/+1
2023-07-17Rename arg_iter to iter_instantiatedMichael Goulet-2/+2
2023-07-17Remove `instance_def_size_estimate` query.Nicholas Nethercote-17/+0
It doesn't seem worthwhile now that `MonoItem::size_estimate` is called much less often.
2023-07-14refactor(rustc_middle): Substs -> GenericArgMahdi Dibaiee-15/+13
2023-07-08Replace RPITIT current impl with new strategy that lowers as a GATSantiago Pastorino-8/+2