Boxy
bea0148ac6
Consolidate type system const evaluation under traits::evaluate_const
...
mew
2024-11-12 02:54:03 +00:00
Michael Goulet
97dfe8b871
Manually register some bounds for a better span
2024-11-08 04:56:08 +00:00
clubby789
b480f0f224
Remove unused intercrate dependencies
2024-11-07 14:17:16 +00:00
Michael Goulet
d458f850aa
ty::BrK -> ty::BoundRegionKind::K
2024-11-04 04:45:52 +00:00
Michael Goulet
9e5e47fc32
Remove or fix some FIXME(async_closure)
2024-11-02 03:33:31 +00:00
Michael Goulet
e093b82a41
Encode cross-crate opaque type origin
2024-10-31 01:35:13 +00:00
lcnr
f51ec110a7
TypingMode 🤔
2024-10-29 17:01:24 +01:00
klensy
746b675c5a
fix clippy::clone_on_ref_ptr for compiler
2024-10-28 18:05:08 +03:00
Michael Goulet
cde29b9ec9
Implement const effect predicate in new solver
2024-10-24 09:46:36 +00:00
Michael Goulet
a16d491054
Remove associated type based effects logic
2024-10-24 09:46:36 +00:00
Matthias Krüger
d84d659cb5
clone range in a more obvious way
2024-10-23 22:22:58 +02:00
lcnr
d836d35739
refactor fudge_inference, handle effect vars
2024-10-19 00:41:56 +02:00
lcnr
3360c1773a
move defining_opaque_types
out of Canonical
2024-10-17 10:22:52 +02:00
GnomedDev
8de8f46f78
Swap PredicateObligation to ThinVec
2024-10-12 15:17:16 +01:00
GnomedDev
7ec06b0d1d
Swap Vec<PredicateObligation> to type alias
2024-10-12 15:17:08 +01:00
Michael Goulet
8715bfbf0e
Make super combine into fns
2024-10-10 06:07:52 -04:00
Michael Goulet
a4cd2202ef
Use SolverRelating in favor of TypeRelating in the old solver where possible
2024-10-10 06:07:52 -04:00
Michael Goulet
30a2ecddb4
Remove unnecessary StructurallyRelateAliases from CombineFields/TypeRelating
2024-10-10 06:07:52 -04:00
Michael Goulet
3da257a98d
Use SolverRelating in new solver
2024-10-10 06:07:52 -04:00
Michael Goulet
efb1c23ff6
Introduce SolverRelating
2024-10-10 06:07:51 -04:00
Michael Goulet
ce7a61b9d0
Uplift super_combine
2024-10-10 06:07:51 -04:00
Michael Goulet
09da2ebd63
Move ty::Error branch into super_combine_tys
2024-10-10 06:07:51 -04:00
Nicholas Nethercote
3b1eee7755
Remove unnecessary return
keyword.
2024-10-08 16:28:58 +11:00
Nicholas Nethercote
1dac23f6fe
Use Default
more in InferCtxtInner
.
2024-10-08 16:28:58 +11:00
Nicholas Nethercote
4df21f2ca0
Downgrade a &mut self
to &self
.
2024-10-08 16:28:58 +11:00
Nicholas Nethercote
8b05df44f9
Remove Deref
/DerefMut
impls for RegionConstraintCollector
.
...
`Deref`/`DerefMut` can be useful, but they can also obfuscate. I don't
think they're worth it for `RegionConstraintCollector`. They're also not
present on the similar types `OpaqueTypeTable` and `TypeVariableTable`.
2024-10-08 16:28:58 +11:00
Nicholas Nethercote
e8a0bd6549
Remove unnecessary lifetime from LeakCheck
.
...
`LeakCheck` can own `mini_graph` and `rcc` instead of holding references
to them. This requires inlining `assign_scc_value` to avoid a borrowck
error, but that's fine because it has a single call site.
2024-10-08 16:28:58 +11:00
Nicholas Nethercote
85507cffc3
Inline and remove RegionConstraintStorage::remove_constraint_entry
.
...
It has a single call site.
2024-10-08 16:28:58 +11:00
Nicholas Nethercote
2b57a785a9
Inline and remove RegionConstraintCollector::into_infos_and_data
.
...
It's a weird method, and used weirdly:
- It's on `RegionConstraintCollector` but operates on
`RegionConstraintStorage`. So at both call sites we create a temporary
`RegionConstraintCollector`, using `with_log`, to call it.
- It `take`s just two of the six fields in `RegionConstraintStorage`.
At one of the two call sites we unnecessarily clone the entire
`RegionConstraintStorage` just to take those two fields.
This commit just inlines and removes it. We no longer need to `take` the
two fields, we can just use them directly.
2024-10-08 16:28:58 +11:00
Nicholas Nethercote
0293827e09
Improve formatting of some comments.
...
I.e. fixing comments lines that are too long or too short.
2024-10-08 16:28:58 +11:00
Nicholas Nethercote
27dad009c6
Add a useful comment about InferOk
.
...
Prompted by #131134 , which tried to remove `InferOk<'tcx, ()>`
occurrences.
2024-10-08 16:27:44 +11:00
Nicholas Nethercote
abf212c16c
Remove OutlivesEnvironmentBuilder
.
...
`OutlivesEnvironment::new` can call `OutlivesEnvironment::with_bounds`
with an empty `extra_bounds`. And once that's done,
`OutlivesEnvironmentBuilder` has a single use and can be inlined and
removed into `OutlivesEnvironment::with_bounds`.
2024-10-08 16:27:44 +11:00
bors
3ae715c8c6
Auto merge of #131343 - compiler-errors:remove-combine-fields, r=lcnr
...
Remove `CombineFields`
This conflicts with #131263 , but if this one lands first then perhaps #131263 could then go ahead and remove all the branching on solver in `TypeRelating`. We could perhaps then rename `TypeRelating` to `OldSolverRelating` or something, idk.
r? lcnr
2024-10-07 21:23:06 +00:00
Matthias Krüger
df61a0b1b2
Rollup merge of #131344 - nnethercote:ref-Lrc, r=compiler-errors
...
Avoid `&Lrc<T>` in various places
Seeing `&Lrc<T>` is a bit suspicious, and `&T` or `Lrc<T>` is often better.
r? `@oli-obk`
2024-10-07 12:23:54 +02:00
Michael Goulet
0c5d2f98d1
Remove At methods that are unused
2024-10-07 05:29:13 -04:00
Michael Goulet
5d62afd2ba
Remove unnecessary DefineOpaqueTypes from lub
2024-10-07 05:29:13 -04:00
Michael Goulet
da71dfbc51
Inline CombineFields
2024-10-07 05:29:13 -04:00
Nicholas Nethercote
860cbccad9
Convert a &Lrc<T>
argument to Lrc<T>
.
...
It's slightly simpler.
2024-10-07 13:58:10 +11:00
Nicholas Nethercote
3fdcde76d9
Remove out-of-date comment.
2024-10-07 09:50:51 +11:00
Nicholas Nethercote
afbff05c84
Move a use
statement so it's with the other use
statements.
2024-10-07 09:50:51 +11:00
Nicholas Nethercote
e800967478
Simplify two matches.
...
Matches involving `GenericArgKind` pairs typically use a single `_` for
the impossible case. This commit shortens two verbose matches in this
way.
2024-10-07 09:50:51 +11:00
Nicholas Nethercote
3386530c91
Streamline next_*_var*
methods.
...
Inline and remove `next_const_var_id`, `next_int_var_id`,
`next_float_var_id`, all of which have a single call site.
2024-10-07 09:50:51 +11:00
Nicholas Nethercote
deeb0c5cf3
Inline and remove InferCtxtBuilder::with_defining_opaque_types
.
...
It has a single use.
2024-10-07 09:50:51 +11:00
Nicholas Nethercote
0ca4784c45
Fix FIXME
comment on FixupError
.
...
`FixupError` is isomorphic with `TyOrConstInferVar`, so this commit
changes it to just be a wrapper around `TyOrConstInferVar`.
Also, move the `Display` impl for `FixupError` next to `FixupError`.
2024-10-07 09:50:51 +11:00
Nicholas Nethercote
25d1ef1993
Remove InferCtxt::err_count_on_creation
.
...
It's no longer used meaningfully.
This also means `DiagCtxtHandle::err_count_excluding_lint_errs` can be
removed.
2024-10-07 09:50:50 +11:00
Nicholas Nethercote
2d2755ff97
Reduce visibilities some more.
...
It helps people reading the code understand how widely things are used.
2024-10-07 09:50:50 +11:00
Nicholas Nethercote
5c015eed47
Remove unused UnitResult
type.
2024-10-07 09:50:50 +11:00
Nicholas Nethercote
5486d72e77
Reduce visibilities.
...
Three of the modules don't need to be `pub`, and then
`warn(unreachable_pub)` identifies a bunch more things that also
shouldn't be `pub`, plus a couple of things that are unused.
2024-10-07 09:50:50 +11:00
Nicholas Nethercote
7a9bbd05c4
Rename errors/mod.rs
as errors.rs
.
...
It's simpler, for this tiny module.
2024-10-07 09:50:50 +11:00
Nicholas Nethercote
cfeee7bcbf
Remove unused features.
2024-10-07 09:50:49 +11:00