about summary refs log tree commit diff
path: root/compiler/rustc_ty_utils/src/ty.rs
AgeCommit message (Collapse)AuthorLines
2025-09-30Split Bound into Canonical and Boundjackh726-1/+1
2025-09-18Rollup merge of #146597 - modhanami:add-struct-tail-recursion-limit-span, ↵Matthias Krüger-0/+1
r=oli-obk Add span for struct tail recursion limit error Fixes rust-lang/rust#135629 Changes 1. Add span to RecursionLimitReached 2. Add ObligationCause parameter to struct_tail_raw 4. Update call sites to pass nearby ObligationCause or create one 5. Update affected .stderr
2025-09-17Remove `DynKind`León Orell Valerian Liehr-2/+2
2025-09-16Add span for struct tail recursion limit errorTawan Muadmuenwai-0/+1
2025-09-12Don't store defaultness for inherent impl itemsCameron Steffen-4/+0
2025-09-12Introduce hir::ImplItemImplKindCameron Steffen-1/+8
2025-09-12Rename AssocItemContainer -> AssocContainerCameron Steffen-1/+1
2025-08-11Propagate TraitImplHeader to hirCameron Steffen-1/+5
2025-07-28Auto merge of #144469 - Kivooeo:chains-cleanup, r=SparrowLiibors-4/+4
Some `let chains` clean-up Not sure if this kind of clean-up is welcoming because of size, but I decided to try out one r? compiler
2025-07-28use let chains in mir, resolve, targetKivooeo-4/+4
2025-07-25Limit defaultness to impl of traitCameron Steffen-2/+5
2025-07-01Remove support for dyn*Michael Goulet-4/+2
2025-06-26Change const trait bound syntax from ~const to [const]Oli Scherer-1/+1
2025-06-16hir_analysis: add `{Meta,Pointee}Sized` boundsDavid Wood-1/+1
Opting-out of `Sized` with `?Sized` is now equivalent to adding a `MetaSized` bound, and adding a `MetaSized` or `PointeeSized` bound is equivalent to removing the default `Sized` bound - this commit implements this change in `rustc_hir_analysis::hir_ty_lowering`. `MetaSized` is also added as a supertrait of all traits, as this is necessary to preserve backwards compatibility. Unfortunately, non-global where clauses being preferred over item bounds (where `PointeeSized` bounds would be proven) - which can result in errors when a `PointeeSized` supertrait/bound/predicate is added to some items. Rather than `PointeeSized` being a bound on everything, it can be the absence of a bound on everything, as `?Sized` was.
2025-06-16trait_sel: `{Meta,Pointee}Sized` on `?Sized` typesDavid Wood-30/+52
Expand the automatic implementation of `MetaSized` and `PointeeSized` so that it is also implemented on non-`Sized` types, just not `ty::Foreign` (extern type).
2025-06-13TypeVisiting binders no longer requires TypeFolding its interiorMichael Goulet-3/+2
2025-06-10Dont unwrap and re-wrap typing envsMichael Goulet-5/+3
2025-06-08Dont make ObligationCtxts with diagnostics unnecessarilyMichael Goulet-1/+1
2025-06-05Replace some `Option<Span>` with `Span` and use DUMMY_SP instead of NoneOli Scherer-1/+1
2025-05-27Rename unpack to kindMichael Goulet-1/+1
2025-05-07Require T: TypeFoldable in Binder<T> visitMichael Goulet-2/+3
2025-04-09Use a query rather than recomputing the tail repeatedlyMichael Goulet-0/+57
2025-03-15Stop relying on rustc_type_ir in non-type-system cratesMichael Goulet-25/+25
2025-03-15Squash fold into tyMichael Goulet-2/+3
2025-03-09Rollup merge of #136968 - oli-obk:bye-bye, r=compiler-errorsMatthias Krüger-56/+2
Turn order dependent trait objects future incompat warning into a hard error fixes #56484 r? ``@ghost`` will FCP when we have a crater result
2025-02-28Fix sized constraint for unsafe binderMichael Goulet-3/+6
2025-02-20Turn order dependent trait objects future incompat warning into a hard errorOli Scherer-56/+2
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