lcnr
509a144eed
add TypingMode::Borrowck
2025-04-03 11:13:10 +02:00
lcnr
cb275d4f26
simplify Interner opaque types API
2025-04-01 23:24:28 +02:00
Michael Goulet
575f129faa
Obligation::as_goal
2025-03-23 18:18:47 +00:00
Michael Goulet
e5a2220327
Fold visit into ty
2025-03-15 06:34:36 +00:00
Michael Goulet
dc0cdfd753
Squash fold into ty
2025-03-15 06:34:36 +00:00
lcnr
01795b14f0
change definitely non-productive cycles to error
2025-03-05 10:06:43 +01:00
Matthias Krüger
b6c1b635f7
Rollup merge of #137776 - nnethercote:rustc_transmute-cleanups, r=jswrenn
...
Some `rustc_transmute` cleanups
A number of small things that can be removed.
r? ``@jswrenn``
2025-03-01 11:34:01 +01:00
lcnr
7eb677e7eb
normalizing where-clauses is also coinductive, add tests
2025-02-28 12:16:47 +01:00
Nicholas Nethercote
785e21d382
Remove allow(unused_variables) for rustc_transmute.
...
This was hiding some genuine sins, including unused arguments in
numerous functions/methods (incl. trait methods), and some unnecessary
computation.
2025-02-28 17:31:31 +11:00
Nicholas Nethercote
5f58985f5d
Remove rustc_transmute's dependence on rustc_infer.
...
`TransmuteTypeEnv` only needs a `TyCtxt`, not an `InferCtxt`.
2025-02-28 16:34:41 +11:00
Michael Goulet
12e3911d81
Greatly simplify lifetime captures in edition 2024
2025-02-22 22:24:52 +00:00
Michael Goulet
3d5438accd
Fix binding mode problems
2025-02-22 00:13:19 +00:00
Michael Goulet
b78c626a95
Make fewer crates depend on rustc_ast_ir
2025-02-19 07:06:54 +00:00
lcnr
059288ed44
adjust derive_error
2025-02-13 23:49:09 +01:00
lcnr
de273e459e
normalizes-to rework rigid alias handling
2025-02-13 20:19:11 +00:00
bjorn3
1fcae03369
Rustfmt
2025-02-08 22:12:13 +00:00
Michael Goulet
4e763c2297
Pass spans around new solver
2025-02-05 18:32:06 +00:00
Michael Goulet
fd1110ce6a
Remove span from delegate
2025-02-05 18:18:11 +00:00
Michael Goulet
304b3cfcb2
Manually walk into WF obligations in BestObligation proof tree visitor
2025-01-31 18:21:58 +00:00
Michael Goulet
d8b176f683
Move fulfillment error derivation into new module
2025-01-31 18:16:02 +00:00
Lukas Markeffsky
10fc0b159e
introduce ty::Value
...
Co-authored-by: FedericoBruzzone <federico.bruzzone.i@gmail.com>
2025-01-30 17:47:44 +01:00
Boxy
3ef506fb4d
Don't pick T: FnPtr nested goals
2025-01-22 06:55:38 +00:00
Guillaume Gomez
b1035d7f49
Rollup merge of #135498 - compiler-errors:dyn-upcasting-completeness, r=lcnr
...
Prefer lower `TraitUpcasting` candidates in selection
Fixes #135463 . The underlying cause is this ambiguity, but it's more clear (and manifests as a coercion error, rather than a MIR validation error) when it's written the way I did in the UI test.
Sorry this is cursed r? lcnr
2025-01-15 16:30:17 +01:00
Michael Goulet
516a93353d
Make sure we can produce ConstArgHasWrongType errors for valtree consts
2025-01-14 18:46:04 +00:00
Michael Goulet
bf545ce2fe
Prefer lower TraitUpcasting candidates
2025-01-14 17:59:54 +00:00
Jacob Pratt
b642740e4f
Rollup merge of #132345 - compiler-errors:fx-diag, r=lcnr
...
Improve diagnostics for `HostEffectPredicate` in the new solver
Adds derived cause for host effect predicates. Some diagnostics regress, but that's connected to the fact that our predicate visitor doesn't play well with aliases just yet.
2025-01-06 22:04:13 -05:00
Matthias Krüger
44c6e83b49
Rollup merge of #134771 - compiler-errors:const-arg-has-type-err, r=lcnr
...
Report correct `SelectionError` for `ConstArgHasType` in new solver fulfill
r? ``@BoxyUwU``
2025-01-06 20:59:32 +01:00
Michael Goulet
ebdf19a8bb
Recurse on GAT where clauses in fulfillment error proof tree visitor
2025-01-06 17:58:42 +00:00
Michael Goulet
2be9ffc1af
Add derived causes for host effect predicates
2025-01-06 17:49:46 +00:00
Michael Goulet
7143ef6550
Also in the new solver
2025-01-03 05:22:14 +00:00
Michael Goulet
592259930b
Report correct SelectionError for ConstArgHasType in new solver fulfill
2024-12-25 20:14:59 +00:00
lcnr
9792cf0d6b
remove non-borrowck member constraints
2024-12-20 10:04:01 +01:00
Michael Goulet
398fd901d5
Assert that obligations are empty before deeply normalizing
2024-12-02 22:51:18 +00:00
lcnr
34a8c2dbba
support revealing defined opaque post borrowck
2024-11-28 10:40:58 +01:00
lcnr
d25ecfd5d6
do not constrain infer vars in find_best_leaf_obligation
2024-11-26 11:45:01 +01:00
bors
386a7c7ae2
Auto merge of #133242 - lcnr:questionable-uwu, r=compiler-errors,BoxyUwU
...
finish `Reveal` removal
After #133212 changed the `TypingMode` to be the only source of truth, this entirely rips out `Reveal`.
cc #132279
r? `@compiler-errors`
2024-11-23 18:01:21 +00:00
lcnr
319843d8cd
no more Reveal :(
2024-11-23 13:52:54 +01:00
Michael Goulet
d294e4746b
Remove unnecessary bool from ExpectedFound
2024-11-23 04:51:31 +00:00
Boxy
bea0148ac6
Consolidate type system const evaluation under traits::evaluate_const
...
mew
2024-11-12 02:54:03 +00:00
lcnr
f51ec110a7
TypingMode 🤔
2024-10-29 17:01:24 +01:00
lcnr
d6ce2bd1de
remove unused field
2024-10-22 08:30:09 +02:00
Matthias Krüger
405eb4178e
Rollup merge of #131825 - lcnr:probe-no-more-leak-2, r=compiler-errors
...
SolverDelegate add assoc type for Infcx
makes writing trait bounds on it a lot nicer going forward.
r? `@compiler-errors`
2024-10-17 20:47:31 +02:00
lcnr
c45073ec3e
SolverDelegate add assoc type for Infcx
2024-10-17 11:38:40 +02:00
lcnr
3360c1773a
move defining_opaque_types out of Canonical
2024-10-17 10:22:52 +02:00
Matthias Krüger
aac91f75e3
Rollup merge of #131699 - compiler-errors:better-errors-for-projections, r=lcnr
...
Try to improve error messages involving aliases in the solver
1. Treat aliases as rigid only if it may not be defined and it's well formed (i.e. for projections, its trait goal is satisfied).
2. Record goals that are related to alias normalization under a new `GoalKind`, so we can look into them in the `BestObligation` visitor.
3. Try to deduplicate errors due to self types of goals that are un-normalizable aliases.
r? lcnr
2024-10-16 19:18:32 +02:00
Michael Goulet
8528387743
Be better at reporting alias errors
2024-10-15 20:42:17 -04:00
Michael Goulet
50b8029ce1
Always recurse on predicates in BestObligation
2024-10-15 20:36:51 -04: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
lcnr
5fd7be97e9
remove outdated FIXMEs
2024-10-11 10:41:10 +00:00