Nicholas Nethercote
cc16c902f1
Remove #[macro_use] extern crate tracing
from rustc_hir_analysis
.
2024-08-30 17:14:59 +10:00
Nicholas Nethercote
5acf4e7b4b
Add warn(unreachable_pub)
to rustc_hir_analysis
.
2024-08-27 13:14:50 +10:00
Camille GILLOT
5cef88c1f4
Print the generic parameter along with the variance in dumps.
2024-08-23 23:00:45 +00:00
Nicholas Nethercote
c4717cc9d1
Shrink TyKind::FnPtr
.
...
By splitting the `FnSig` within `TyKind::FnPtr` into `FnSigTys` and
`FnHeader`, which can be packed more efficiently. This reduces the size
of the hot `TyKind` type from 32 bytes to 24 bytes on 64-bit platforms.
This reduces peak memory usage by a few percent on some benchmarks. It
also reduces cache misses and page faults similarly, though this doesn't
translate to clear cycles or wall-time improvements on CI.
2024-08-09 14:33:25 +10: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
León Orell Valerian Liehr
bc12972bcd
Slightly refactor the dumping of HIR analysis data
2024-06-20 20:31:32 +02:00
Santiago Pastorino
4501ae89f1
Add and use generics.is_empty() and generics.is_own_empty, rather than using generics' attributes
2024-05-19 11:10:56 -03: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
f59348ff09
Remove extern crate rustc_middle
from rustc_hir_analysis
.
2024-05-13 08:04:47 +10:00
Michael Goulet
1c19b6ad60
Rename Generics::params to Generics::own_params
2024-05-09 20:58:46 -04:00
Michael Goulet
b09c177743
Don't leak unnameable types in -> _ recover
2024-04-14 11:43:05 -04:00
Oli Scherer
84acfe86de
Actually create ranged int types in the type system.
2024-04-08 12:02:19 +00:00
Michael Goulet
7be0dbe772
Make RawPtr take Ty and Mutbl separately
2024-03-22 11:13:29 -04:00
León Orell Valerian Liehr
82c2c8deb1
Update (doc) comments
...
Several (doc) comments were super outdated or didn't provide enough context.
Some doc comments shoved everything in a single paragraph without respecting
the fact that the first paragraph should be a single sentence because rustdoc
treats these as item descriptions / synopses on module pages.
2024-03-22 06:31:51 +01:00
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