Oli Scherer
96d24f2dd1
Revert "Auto merge of #122140 - oli-obk:track_errors13, r=davidtwco"
...
This reverts commit 65cd843ae0
, reversing
changes made to d255c6a57c
.
2024-03-11 21:28:16 +00:00
Oli Scherer
4279da583c
Never bail out early while running all the type check queries
2024-03-11 08:43:50 +00:00
Michael Goulet
cf299ddb6e
Make TAITs capture all higher-ranked lifetimes in scope
2024-03-08 02:10:11 +00:00
Jason Newcomb
be9b125d41
Convert TypeVisitor
and DefIdVisitor
to use VisitorResult
2024-03-05 13:28:15 -05:00
Shoyu Vanilla
3856df059e
Dejargnonize subst
2024-02-12 15:46:35 +09:00
Michael Goulet
c567eddec2
Add CoroutineClosure to TyKind, AggregateKind, UpvarArgs
2024-02-06 02:22:58 +00:00
Oli Scherer
4db93c5750
Stop using track_errors for some forever unstable rustc_attr analyses
2024-01-17 10:02:14 +00:00
Michael Goulet
c811662fb0
Use zip_eq to enforce that things being zipped have equal sizes
2024-01-14 20:01:12 +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
lcnr
15f21562e6
finish RegionKind
rename
...
- `ReFree` -> `ReLateParam`
- `ReEarlyBound` -> `ReEarlyParam`
2023-11-14 13:13:27 +00: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
Nicholas Nethercote
a2051dd578
Optimize some alloc_from_iter
call sites.
...
There's no need to collect an iterator into a `Vec`, or to call
`into_iter` at the call sites.
2023-10-03 18:12:37 +11:00
Michael Goulet
d6ce9ce115
Don't store lazyness in DefKind
2023-09-26 02:53:59 +00:00
Camille GILLOT
44ac8dcc71
Remove GeneratorWitness and rename GeneratorWitnessMIR.
2023-09-23 13:47:30 +00:00
Oli Scherer
e0a60f0740
Revert "Auto merge of #102417 - oli-obk:opaque_lifetimes2, r=jackh726"
...
This reverts commit cb9467515b
, reversing
changes made to 57781b24c5
.
2023-08-30 11:06:46 +00:00
Michael Goulet
690bcc6619
Test variances of opaque captures
2023-08-28 01:05:34 +00:00
León Orell Valerian Liehr
5468336d6b
Store the laziness of type aliases in the DefKind
2023-08-07 15:54:31 +02:00
León Orell Valerian Liehr
263a0dec60
Compute variances for lazy type aliases
2023-08-03 01:38:23 +02:00
Deadbeef
4fec845c3f
Remove constness from TraitPredicate
2023-08-02 15:38:00 +00:00
Matthias Krüger
c64ef5e070
inline format!() args from rustc_codegen_llvm to the end (4)
...
r? @WaffleLapkin
2023-07-25 23:20:28 +02:00
Michael Goulet
05f6890b3e
Rename arg_iter to iter_instantiated
2023-07-17 21:04:12 +00: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
Michael Goulet
ca8202d429
Remove variances_of on RPITIT gats, remove its one use-case
2023-07-07 02:29:57 +00:00
Santiago Pastorino
a10406318e
Properly implement variances_of for RPITIT GAT
2023-06-29 23:08:32 -03:00
Michael Goulet
46a650f4e0
Migrate item_bounds to ty::Clause
2023-06-22 18:34:23 +00:00
Michael Goulet
fca56a8d2c
s/Clause/ClauseKind
2023-06-19 14:57:42 +00:00
John Kåre Alsaker
fff20a703d
Move expansion of query macros in rustc_middle to rustc_middle::query
2023-05-15 08:49:13 +02:00
Matthias Krüger
297b222066
Rollup merge of #110556 - kylematsuda:earlybinder-explicit-item-bounds, r=compiler-errors
...
Switch to `EarlyBinder` for `explicit_item_bounds`
Part of the work to finish https://github.com/rust-lang/rust/issues/105779 .
This PR adds `EarlyBinder` to the return type of the `explicit_item_bounds` query and removes `bound_explicit_item_bounds`.
r? `@compiler-errors` (hope it's okay to request you, since you reviewed #110299 and #110498 😃 )
2023-04-25 21:06:32 +02:00
Oli Scherer
1ce80e210d
Allow LocalDefId
as the argument to def_path_str
2023-04-21 22:27:20 +00:00
Kyle Matsuda
e54854f6a9
add subst_identity_iter and subst_identity_iter_copied methods on EarlyBinder; use this to simplify some EarlyBinder noise around explicit_item_bounds calls
2023-04-20 12:36:50 -06:00
Kyle Matsuda
f3b279fcc5
add EarlyBinder to output of explicit_item_bounds; replace bound_explicit_item_bounds usages; remove bound_explicit_item_bounds query
2023-04-20 12:36:50 -06:00
Nicholas Nethercote
4460a1dc28
Remove TypeSuper{Foldable,Visitable}
impls for Region
.
...
These traits exist so that folders/visitors can recurse into types of
interest: binders, types, regions, predicates, and consts. But `Region`
is non-recursive and cannot contain other types of interest, so its
methods in these traits are trivial.
This commit inlines and removes those trivial methods.
2023-04-16 09:11:43 +10:00
Michael Goulet
7e6506764b
IdentitySubsts::identity_for_item takes Into<DefId>
2023-03-21 15:38:52 +00:00
Michael Goulet
2eb1c08e43
Use local key in providers
2023-03-21 15:38:51 +00:00
Santiago Pastorino
e41491fe05
ImplTraitPlaceholder -> is_impl_trait_in_trait
2023-03-15 16:58:35 -03:00
Matthias Krüger
14260c83ac
Rollup merge of #108460 - obeis:hir-analysis-migrate-diagnostics-2, r=compiler-errors
...
migrate `rustc_hir_analysis` to session diagnostic [Part Two]
migrate `rustc_hir_analysis` to session diagnostic (part two)
files list:
- rustc_hir_analysis/variance/*
- rustc_hir_analysis/missing_cast_for_variadic_arg.rs
- rustc_hir_analysis/sized_unsized_cast.rs
Updates #100717
2023-03-07 19:57:43 +01:00
Obei Sideg
44eb974b23
migrate rustc_hir_analysis
to session diagnostic
...
part two
files list:
rustc_hir_analysis/variance/*
rustc_hir_analysis/missing_cast_for_variadic_arg.rs
rustc_hir_analysis/sized_unsized_cast.rs
2023-03-05 00:01:55 +03:00
Vadim Petrochenkov
c83553da31
rustc_middle: Remove trait DefIdTree
...
This trait was a way to generalize over both `TyCtxt` and `Resolver`, but now `Resolver` has access to `TyCtxt`, so this trait is no longer necessary.
2023-03-02 23:46:44 +04:00
Alan Egerton
695072daa6
Remove type-traversal trait aliases
2023-02-22 17:04:58 +00:00
Kyle Matsuda
c183110cc2
remove bound_type_of query; make type_of return EarlyBinder; change type_of in metadata
2023-02-16 17:05:56 -07:00
Kyle Matsuda
d822b97a27
change usages of type_of to bound_type_of
2023-02-16 17:01:52 -07:00
Alan Egerton
dea342d861
Make visiting traits generic over the Interner
2023-02-13 10:24:49 +00:00
Alan Egerton
b409329c62
Workaround issue #107747
...
Only required until fix #107803 is merged into stage0 compiler, expected
when beta 1.69.0 is released on 2023-03-09, then this commit can be
reverted.
2023-02-13 10:24:47 +00:00
Alan Egerton
ba55a453eb
Alias folding/visiting traits instead of re-export
2023-02-13 10:24:46 +00:00
Esteban Küber
861f451235
Change to ReError(ErrorGuaranteed)
2023-02-09 10:26:49 +00:00
Esteban Küber
30cf7a3f51
Introduce ReError
...
CC #69314
2023-02-09 10:26:49 +00:00
Matthias Krüger
a5caa989c9
Rollup merge of #107339 - aliemjay:covariant, r=lcnr
...
internally change regions to be covariant
Surprisingly, we consider the reference type `&'a T` to be contravaraint in its lifetime parameter. This is confusing and conflicts with the documentation we have in the reference, rustnomicon, and rustc-dev-guide. This also arguably not the correct use of terminology since we can use `&'static u8` in a place where `&' a u8` is expected, this implies that `&'static u8 <: &' a u8` and consequently `'static <: ' a`, hence covariance.
Because of this, when relating two types, we used to switch the argument positions in a confusing way:
`Subtype(&'a u8 <: &'b u8) => Subtype('b <: 'a) => Outlives('a: 'b) => RegionSubRegion('b <= 'a)`
The reason for the current behavior is probably that we wanted `Subtype('b <: 'a)` and `RegionSubRegion('b <= 'a)` to be equivalent, but I don' t think this is a good reason since these relations are sufficiently different in that the first is a relation in the subtyping lattice and is intrinsic to the type-systems, while the the second relation is an implementation detail of regionck.
This PR changes this behavior to use covariance, so..
`Subtype(&'a u8 <: &'b u8) => Subtype('a <: 'b) => Outlives('a: 'b) => RegionSubRegion('b <= 'a) `
Resolves #103676
r? `@lcnr`
2023-01-28 05:20:18 +01:00
Camille GILLOT
1974b6b68d
Introduce GeneratorWitnessMIR.
2023-01-27 18:58:44 +00:00