Michael Goulet
fe4c995ccb
Move trait selection error reporting to its own top-level module
2024-07-08 16:04:47 -04:00
Michael Goulet
a41c44f21c
Nits and formatting
2024-06-03 10:02:08 -04:00
Michael Goulet
1e72c7f536
Add cycle errors to ScrubbedTraitError to remove a couple more calls to new_with_diagnostics
2024-06-03 09:27:52 -04:00
Michael Goulet
eb0a70a557
Opt-in diagnostics reporting to avoid doing extra work in the new solver
2024-06-03 09:27:52 -04:00
Michael Goulet
54b2b7d460
Make TraitEngines generic over error
2024-06-03 09:27:52 -04:00
Michael Goulet
084ccd2390
Remove unnecessary extension trait
2024-06-03 09:27:52 -04:00
Michael Goulet
7b3d6dad20
Remove trivial Binder::dummy calls
2024-05-16 14:24:23 -04:00
Michael Goulet
11ec3eca74
Rename ToPredicate for Upcast
2024-05-16 14:23:47 -04:00
Michael Goulet
92861517aa
Take ocx by move for pending obligations
2024-05-02 22:03:01 -04:00
Michael Goulet
d9eb5232b6
Use ObligationCtxt in favor of TraitEngine in many places
2024-05-02 22:03:01 -04:00
Nicholas Nethercote
4814fd0a4b
Remove extern crate rustc_macros from numerous crates.
2024-04-29 10:21:54 +10:00
Michael Goulet
61daee66a8
Get rid of some sub_exp and eq_exp
2024-03-01 01:20:49 +00:00
Michael Goulet
75e15f7cf4
Deeply normalize obligations in refining_impl_trait
2024-02-28 16:09:29 +00:00
Michael Goulet
a9dbf63087
Move trait into attr so it's greppable
2024-02-16 15:07:37 +00:00
Michael Goulet
9c25823bb4
Use extension trait derive
2024-02-16 15:07:37 +00:00
Michael Goulet
028d29301f
Deeply normalize when processing registered region obligations
2024-01-30 00:06:53 +00:00
lcnr
5d97ada1ec
rename -Ztrait-solver to -Znext-solver
2023-12-14 15:22:37 +01:00
Nilstrieb
21a870515b
Fix clippy::needless_borrow in the compiler
...
`x clippy compiler -Aclippy::all -Wclippy::needless_borrow --fix`.
Then I had to remove a few unnecessary parens and muts that were exposed
now.
2023-11-21 20:13:40 +01:00
Michael Goulet
0626f2e7d0
nits
2023-10-23 23:35:27 +00:00
Michael Goulet
8597bf1df7
Make things work by using the new solver
2023-10-23 23:35:27 +00:00
Esteban Küber
91b9ffeab0
Reorder fullfillment errors to keep more interesting ones first
...
In `report_fullfillment_errors` push back `T: Sized`, `T: WellFormed`
and coercion errors to the end of the list. The pre-existing
deduplication logic eliminates redundant errors better that way, keeping
the resulting output with fewer errors than before, while also having
more detail.
2023-10-04 02:04:14 +00:00
ouz-a
6f0c5ee2d4
change is_subtype to relate_types
2023-10-02 23:39:45 +03:00
Deadbeef
4fec845c3f
Remove constness from TraitPredicate
2023-08-02 15:38:00 +00:00
Michael Goulet
810fbf086d
Remove chalk from the compiler
2023-07-03 21:40:04 +00:00
lcnr
a2dfed6711
deeply_normalize pass in fulfill cx for old solver
2023-07-03 09:12:15 +02:00
lcnr
5378f07d64
use deeply_normalize for assumed_wf_types
2023-07-03 09:12:14 +02:00
lcnr
d04775d739
change snapshot tracking in fulfillment contexts
2023-06-29 10:02:26 +02:00
Michael Goulet
3d4da98273
Make TraitEngine::new use the right solver, add compare mode
2023-06-06 18:43:20 +00:00
Michael Goulet
b637048a89
Add -Ztrait-solver=next-coherence
2023-06-06 18:43:20 +00:00
Michael Goulet
0a35db5e0d
Fallible<_> -> Result<_, NoSolution>
2023-05-25 17:29:22 +00:00
Maybe Waffle
46b01abbcd
Replace tcx.mk_trait_ref with ty::TraitRef::new
2023-04-25 16:12:44 +00:00
lcnr
cc82ccb145
#[must_use] for fns returning a list of errors
2023-04-12 10:55:14 +02:00
lcnr
a19adefa0e
region error cleanup
...
- require `TypeErrCtxt` to always result in an error
- move `resolve_regions_and_report_errors` to the `ObligationCtxt`
- merge `process_registered_region_obligations` into `resolve_regions`
2023-04-12 10:24:36 +02:00
lcnr
d2b7604db9
always make define_opaque_types explicit
2023-03-15 14:00:15 +01:00
Michael Goulet
1f92c61e73
sub is not sup
2023-03-04 20:57:34 +00:00
Alan Egerton
695072daa6
Remove type-traversal trait aliases
2023-02-22 17:04:58 +00:00
Oli Scherer
88a7b6803b
Make hidden type registration opt-in, so that each site can be reviewed on its own and we have the right defaults for trait solvers
2023-02-21 14:50:51 +00:00
Vincenzo Palazzo
7d2c1103d7
fix: use LocalDefId instead of HirId in trait res
...
use LocalDefId instead of HirId in trait resolution to simplify
the obligation clause resolution
Signed-off-by: Vincenzo Palazzo <vincenzopalazzodev@gmail.com >
2023-01-23 11:42:18 +00:00
fee1-dead
f8319bb403
Rollup merge of #106389 - compiler-errors:no-canonicalized, r=lcnr
...
Simplify some canonical type alias names
* delete the `Canonicalized<'tcx>` type alias in favor for `Canonical<'tcx>`
* `CanonicalizedQueryResponse` -> `CanonicalQueryResponse`
I don't particularly care about the latter, but it should be consistent. We could alternatively delete the first alias and rename the struct to `Canonicalized`, and then keep the name of `CanonicalizedQueryResponse` untouched.
2023-01-09 23:35:30 +08:00
Michael Goulet
8b0f43b19d
Rename stock solver to classic
2023-01-04 18:40:02 +00:00
Michael Goulet
a4974fa9c7
Split -Zchalk flag into -Ztrait-solver=(stock|chalk|next) flag
2023-01-04 18:12:42 +00:00
Michael Goulet
50ab306015
Simplify some canonical type alias names
2023-01-03 01:16:10 +00:00
Santiago Pastorino
4dacf4f469
Use ocx.normalize in report_projection_error
2022-12-02 17:31:40 -03:00
Michael Goulet
1e236acd05
Make ObligationCtxt::normalize take cause by borrow
2022-11-28 17:35:40 +00:00
Michael Goulet
fc710832ea
partially_normalize_... -> At::normalize
2022-11-28 17:35:39 +00:00
Oli Scherer
7658e0fccf
Stop passing the self-type as a separate argument.
2022-11-21 20:39:46 +00:00
Oli Scherer
ec8d01fdcc
Allow iterators instead of requiring slices that will get turned into iterators
2022-11-21 20:33:55 +00:00
Oli Scherer
6f77c97b38
Assert that various types have the right amount of generic args and fix the sites that used the wrong amount
2022-11-21 20:31:59 +00:00
lcnr
b2e6d08e3f
use ocx type relation routines
2022-11-15 14:13:47 +01:00
bors
cc9b259b5e
Auto merge of #103723 - CastilloDel:master, r=jackh726
...
Remove allow(rustc::potential_query_instability) in rustc_trait_selection
Related to https://github.com/rust-lang/rust/issues/84447
This PR needs to be benchmarked to check for regressions.
2022-11-09 13:45:27 +00:00