jackh726
d1bbd39c59
Split Bound into Canonical and Bound
2025-09-30 12:58:28 -04:00
Matthias Krüger
b7ab58eb4d
Rollup merge of #146597 - modhanami:add-struct-tail-recursion-limit-span, 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-18 17:20:57 +02:00
León Orell Valerian Liehr
26f3337d4e
Remove DynKind
2025-09-17 04:46:46 +02:00
Tawan Muadmuenwai
6912631d3e
Add span for struct tail recursion limit error
2025-09-16 23:04:59 +07:00
Cameron Steffen
b995a55caf
Don't store defaultness for inherent impl items
2025-09-12 15:14:15 -05:00
Cameron Steffen
88a8bfcaf0
Introduce hir::ImplItemImplKind
2025-09-12 15:14:15 -05:00
Cameron Steffen
5590e55b03
Rename AssocItemContainer -> AssocContainer
2025-09-12 15:10:30 -05:00
Cameron Steffen
bf266dc834
Propagate TraitImplHeader to hir
2025-08-11 17:05:42 -05:00
bors
d242a8bd5a
Auto merge of #144469 - Kivooeo:chains-cleanup, r=SparrowLii
...
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-28 05:25:23 +00:00
Kivooeo
b8eb046e6e
use let chains in mir, resolve, target
2025-07-28 06:10:36 +05:00
Cameron Steffen
cf4d7938cf
Limit defaultness to impl of trait
2025-07-25 08:49:31 -05:00
Michael Goulet
2516c33982
Remove support for dyn*
2025-07-01 19:00:21 +00:00
Oli Scherer
eb7245a864
Change const trait bound syntax from ~const to [const]
2025-06-26 13:46:45 +00:00
David Wood
86ab2b60cd
hir_analysis: add {Meta,Pointee}Sized bounds
...
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-16 23:04:33 +00:00
David Wood
3b0e1c17d2
trait_sel: {Meta,Pointee}Sized on ?Sized types
...
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-16 15:00:22 +00:00
Michael Goulet
b138202002
TypeVisiting binders no longer requires TypeFolding its interior
2025-06-13 17:54:45 +00:00
Michael Goulet
6227acc749
Dont unwrap and re-wrap typing envs
2025-06-10 17:01:55 +00:00
Michael Goulet
d2afab4d60
Dont make ObligationCtxts with diagnostics unnecessarily
2025-06-08 22:40:44 -04:00
Oli Scherer
fd3da4bebd
Replace some Option<Span> with Span and use DUMMY_SP instead of None
2025-06-05 14:14:59 +00:00
Michael Goulet
29c3babd7c
Rename unpack to kind
2025-05-27 11:14:45 +00:00
Michael Goulet
df13f7c1fa
Require T: TypeFoldable in Binder<T> visit
2025-05-07 16:00:21 +00:00
Michael Goulet
830aeb6102
Use a query rather than recomputing the tail repeatedly
2025-04-09 20:26:58 +00:00
Michael Goulet
b88f85a410
Stop relying on rustc_type_ir in non-type-system crates
2025-03-15 06:42:48 +00:00
Michael Goulet
dc0cdfd753
Squash fold into ty
2025-03-15 06:34:36 +00:00
Matthias Krüger
5a46f82d7e
Rollup merge of #136968 - oli-obk:bye-bye, r=compiler-errors
...
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-03-09 10:34:47 +01:00
Michael Goulet
b67b6c0503
Fix sized constraint for unsafe binder
2025-02-28 03:17:36 +00:00
Oli Scherer
8f6b184946
Turn order dependent trait objects future incompat warning into a hard error
2025-02-20 13:39:39 +00:00
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