rust/tests/ui/traits/new-solver
Matthias Krüger 418b91a3d7
Rollup merge of #114594 - compiler-errors:new-solver-resolve-aliases, r=lcnr
Structurally normalize weak and inherent in new solver

It seems pretty obvious to me that we should be normalizing weak and inherent aliases too, since they can always be normalized. This PR still leaves open the question of what to do with opaques, though 💀

**Also**, we need to structurally resolve the target of a coercion, for the UI test to work.

r? `@lcnr`
2023-08-08 03:30:56 +02:00
..
assembly review 2023-07-20 12:01:34 +02:00
coherence new solver cleanup + coherence 2023-03-21 16:27:25 +01:00
coinduction add tests 2023-08-03 15:12:44 +02:00
overflow add tests 2023-08-03 15:12:44 +02:00
alias_eq_cant_be_furthur_normalized.rs Add tests 2023-02-10 14:56:28 +00:00
alias_eq_dont_use_normalizes_to_if_substs_eq.rs Strongly prefer alias and param-env bounds 2023-05-25 03:35:14 +00:00
alias_eq_simple.rs Add tests 2023-02-10 14:56:28 +00:00
alias_eq_substs_eq_not_intercrate.rs update tests 2023-07-03 09:12:15 +02:00
alias_eq_substs_eq_not_intercrate.stderr update tests 2023-07-03 09:12:15 +02:00
alias-bound-preference.rs add test for incomplete alias bound preference 2023-07-13 13:43:49 +02:00
alias-bound-unsound.rs Check GAT, IAT, and weak type where clauses during projection 2023-07-16 21:14:38 +00:00
alias-bound-unsound.stderr Check GAT, IAT, and weak type where clauses during projection 2023-07-16 21:14:38 +00:00
alias-eq-in-canonical-response.rs Return nested obligations from canonical response var unification 2023-03-23 19:00:04 +00:00
alias-sub.rs Include relation direction in AliasEq predicate 2023-03-23 05:56:27 +00:00
array-default.rs Normalize anon consts in new solver 2023-06-02 22:07:57 +00:00
async.fail.stderr update tests 2023-07-03 09:12:15 +02:00
async.rs update tests 2023-07-03 09:12:15 +02:00
auto-with-drop_tracking_mir.fail.stderr Adjust tests for new drop and forget lints 2023-05-10 19:36:02 +02:00
auto-with-drop_tracking_mir.rs Rename drop_ref lint to dropping_references 2023-05-21 14:16:41 +02:00
borrowck-error.rs Clone region var origins instead of taking in borrowck 2023-04-21 00:31:43 +00:00
borrowck-error.stderr Clone region var origins instead of taking in borrowck 2023-04-21 00:31:43 +00:00
builtin-fn-must-return-sized.rs Check that built-in callable types validate their output type is Sized (in new solver) 2023-02-18 19:32:58 +00:00
builtin-fn-must-return-sized.stderr Check that built-in callable types validate their output type is Sized (in new solver) 2023-02-18 19:32:58 +00:00
canonical-int-var-eq-in-response.rs Drive-by: Add -Ztrait-solver=next to canonical int var test 2023-03-22 18:26:33 +00:00
canonical-ty-var-eq-in-response.rs Canonicalize the ROOT VAR 2023-03-07 17:11:35 +00:00
cast-checks-handling-projections.rs Commit some tests for the new solver + lazy norm 2023-03-11 23:16:46 +00:00
closure-inference-guidance.rs Closures always implement FnOnce in new solver 2023-03-30 15:11:42 +00:00
closure-substs-ambiguity.rs Instantiate closure synthetic substs in root universe 2023-06-07 18:18:57 +00:00
const-param-placeholder.fail.stderr Don't ICE on placeholder consts in deep reject 2023-03-29 23:28:44 +00:00
const-param-placeholder.rs Don't ICE on placeholder consts in deep reject 2023-03-29 23:28:44 +00:00
deduce-ty-from-object.rs Canonicalize the ROOT VAR 2023-03-07 17:11:35 +00:00
dedup-regions.rs deduplicate identical region constraints 2023-06-08 23:38:07 +00:00
destruct.rs Implement non-const Destruct trait in new solver 2023-03-22 18:22:27 +00:00
dont-coerce-infer-to-dyn.rs Don't select infer -> dyn Trait 2023-08-01 23:12:03 +00:00
dont-elaborate-for-projections.rs Do not consider elaborated projection predicates for objects in new solver 2023-03-29 16:13:05 +00:00
dont-loop-fulfill-on-region-constraints.rs Consider a goal as NOT changed if its response is identity modulo regions 2023-07-27 04:00:49 +00:00
dont-normalize-proj-with-error.rs review 2023-07-20 12:01:34 +02:00
dont-normalize-proj-with-error.stderr review 2023-07-20 12:01:34 +02:00
dont-remap-tait-substs.rs Require TAITs to be mentioned in the signatures of functions that register hidden types for them 2023-07-07 13:13:18 +00:00
dont-type_of-tait-in-defining-scope.not_send.stderr Don't call type_of on TAIT in defining scope in new solver 2023-07-06 20:13:22 +00:00
dont-type_of-tait-in-defining-scope.rs Require TAITs to be mentioned in the signatures of functions that register hidden types for them 2023-07-07 13:13:18 +00:00
dyn-any-dont-prefer-impl.rs Prefer object candidates over impl candidates in new selection 2023-07-06 04:57:17 +00:00
elaborate-item-bounds.rs Use elaborated item bounds for alias types 2023-02-09 17:16:47 +00:00
equating-projection-cyclically.rs update tests 2023-07-03 09:12:15 +02:00
equating-projection-cyclically.stderr update tests 2023-07-03 09:12:15 +02:00
escaping-bound-vars-in-writeback-normalization.rs Allow escaping bound vars during normalize_erasing_regions in new solver 2023-07-14 15:03:21 +00:00
exponential-trait-goals.rs Clear response values for overflow in new solver 2023-04-26 21:54:30 +00:00
exponential-trait-goals.stderr Clear response values for overflow in new solver 2023-04-26 21:54:30 +00:00
float-canonical.rs canonicalize float var as float in new solver 2023-03-30 01:15:37 +00:00
fn-trait-closure.rs fn-trait-closure test now pass on new solver 2023-01-22 12:36:58 -03:00
fn-trait.rs Also check function items' signatures for Fn* trait compatibility 2023-03-21 11:50:14 +00:00
fn-trait.stderr Also check function items' signatures for Fn* trait compatibility 2023-03-21 11:50:14 +00:00
generator.fail.stderr Implement Generator and Future 2023-01-26 03:15:36 +00:00
generator.rs Implement Generator and Future 2023-01-26 03:15:36 +00:00
higher-ranked-dyn-bounds.rs Make higher-ranked projections in object types work in new solver 2023-02-24 02:48:44 +00:00
int-var-alias-eq.rs vars are ? 2023-04-25 19:53:09 +00:00
int-var-is-send.rs Stall auto-trait assembly for int/float vars in new solver 2023-04-10 15:54:14 +00:00
iter-filter-projection.rs Add test for uniquifying regions 2023-04-14 03:22:12 +00:00
lazy-nested-obligations-1.rs Commit some tests for the new solver + lazy norm 2023-03-11 23:16:46 +00:00
lazy-nested-obligations-2.rs Resolve target type of coercion 2023-08-07 19:06:18 +00:00
lazy-nested-obligations-3.rs Commit some tests for the new solver + lazy norm 2023-03-11 23:16:46 +00:00
leak-check-coinductive-cycle.rs coinductive cycle leak check test 2023-05-30 13:04:27 +02:00
member-constraints-in-root-universe.rs instantiate hidden types in root universe 2023-06-24 13:00:15 +00:00
more-object-bound.rs Do not consider elaborated projection predicates for objects in new solver 2023-03-29 16:13:05 +00:00
more-object-bound.stderr Resolve target type of coercion 2023-08-07 19:06:18 +00:00
negative-coherence-bounds.rs Negative coherence test 2023-04-25 05:02:39 +00:00
negative-coherence-bounds.stderr Negative coherence test 2023-04-25 05:02:39 +00:00
nested-alias-bound.rs Make alias bounds sound in the new solver 2023-05-09 20:37:50 +00:00
nested-obligations-with-bound-vars-gat.rs Add a test that used to take forever to compile 2023-03-13 16:34:16 +00:00
normalize-param-env-1.rs Commit some tests for the new solver + lazy norm 2023-03-11 23:16:46 +00:00
normalize-param-env-2.rs Commit some tests for the new solver + lazy norm 2023-03-11 23:16:46 +00:00
normalize-param-env-3.rs Commit some tests for the new solver + lazy norm 2023-03-11 23:16:46 +00:00
normalize-rcvr-for-inherent.rs Structurally normalize in the new solver 2023-05-22 21:18:20 +00:00
normalize-unsize-rhs.rs Make sure to detect trait upcasting coercion even after normalization 2023-07-25 15:15:25 +00:00
normalized-const-built-in-op.rs Do fix_*_builtin_expr hacks on the writeback results 2023-06-08 03:21:13 +00:00
normalizes_to_ignores_unnormalizable_candidate.rs Add tests 2023-02-10 14:56:28 +00:00
normalizes_to_ignores_unnormalizable_candidate.self_infer.stderr Add tests 2023-02-10 14:56:28 +00:00
object-soundness-requires-generalization.rs Bubble up nested goals from equation in predicates_for_object_candidate 2023-07-29 05:55:03 +00:00
object-unsafety.rs update tests 2023-07-03 09:12:15 +02:00
object-unsafety.stderr update tests 2023-07-03 09:12:15 +02:00
opportunistic-region-resolve.rs opportunistically resolve regions 2023-06-13 22:10:51 +00:00
param-candidate-doesnt-shadow-project.rs Add a couple random projection tests 2023-02-10 18:14:09 +00:00
param-discr-kind.rs Don't ICE on DiscriminantKind projection in new solver 2023-03-30 00:53:16 +00:00
pointee.rs Check pointee metadata correctly in ui test 2023-03-30 00:53:17 +00:00
pointer-like.rs Enforce that PointerLike requires a pointer-like ABI 2023-04-08 21:11:16 +00:00
pointer-like.stderr Enforce that PointerLike requires a pointer-like ABI 2023-04-08 21:11:16 +00:00
prefer-candidate-no-constraints.rs prioritize param-env candidates 2023-04-10 09:16:33 +02:00
prefer-param-env-on-ambiguity.rs prioritize param-env candidates 2023-04-10 09:16:33 +02:00
projection-discr-kind.rs Don't ICE on DiscriminantKind projection in new solver 2023-03-30 00:53:16 +00:00
projection-discr-kind.stderr Don't ICE on DiscriminantKind projection in new solver 2023-03-30 00:53:16 +00:00
provisional-result-done.rs Multiple candidates with same response is not ambiguous 2023-02-10 00:35:25 +00:00
recursive-self-normalization-2.rs update tests 2023-07-03 09:12:15 +02:00
recursive-self-normalization-2.stderr update tests 2023-07-03 09:12:15 +02:00
recursive-self-normalization.rs update tests 2023-07-03 09:12:15 +02:00
recursive-self-normalization.stderr update tests 2023-07-03 09:12:15 +02:00
runaway-impl-candidate-selection.rs Treat projections with infer as placeholder during fast reject in new solver 2023-03-13 16:34:16 +00:00
runaway-impl-candidate-selection.stderr Treat projections with infer as placeholder during fast reject in new solver 2023-03-13 16:34:16 +00:00
slice-match-byte-lit.rs Structurally normalize again for byte string lit pat checking 2023-07-06 07:11:25 +00:00
specialization-transmute.rs update tests 2023-07-03 09:12:15 +02:00
specialization-transmute.stderr update tests 2023-07-03 09:12:15 +02:00
specialization-unconstrained.rs update tests 2023-07-03 09:12:15 +02:00
specialization-unconstrained.stderr update tests 2023-07-03 09:12:15 +02:00
stall-num-var-auto-trait.fallback.stderr Stall auto-trait assembly for int/float vars in new solver 2023-04-10 15:54:14 +00:00
stall-num-var-auto-trait.rs Stall auto-trait assembly for int/float vars in new solver 2023-04-10 15:54:14 +00:00
structural-resolve-field.rs Normalize anon consts in new solver 2023-06-02 22:07:57 +00:00
tait-eq-proj-2.rs Require TAITs to be mentioned in the signatures of functions that register hidden types for them 2023-07-07 13:13:18 +00:00
tait-eq-proj.rs Require TAITs to be mentioned in the signatures of functions that register hidden types for them 2023-07-07 13:13:18 +00:00
tait-eq-tait.rs Require TAITs to be mentioned in the signatures of functions that register hidden types for them 2023-07-07 13:13:18 +00:00
temporary-ambiguity.rs Adjust tests for new drop and forget lints 2023-05-10 19:36:02 +02:00
trait-upcast-lhs-needs-normalization.rs Make sure to detect trait upcasting coercion even after normalization 2023-07-25 15:15:25 +00:00
try-example.rs Commit some new solver tests 2023-02-27 05:23:26 +00:00
two-projection-param-candidates-are-ambiguous.rs vars are ? 2023-04-25 19:53:09 +00:00
two-projection-param-candidates-are-ambiguous.stderr Remove unnecessary call to select_from_obligation 2023-06-20 23:33:02 +00:00
unevaluated-const-impl-trait-ref.fails.stderr Normalize anon consts in new solver 2023-06-02 22:07:57 +00:00
unevaluated-const-impl-trait-ref.rs Normalize anon consts in new solver 2023-06-02 22:07:57 +00:00
unsafe-auto-trait-impl.rs Disqualify auto-trait builtin impl in new solver if impl exists 2023-02-09 17:23:50 +00:00
unsize-although-ambiguous.rs Implement selection for unsize for better coercion behavior 2023-07-08 03:41:22 +00:00
unsize-good.rs Implement unsizing in the new trait solver 2023-01-30 19:11:01 +00:00
upcast-right-substs.rs Trait upcasting support in new solver 2023-01-30 19:11:01 +00:00
upcast-wrong-substs.rs Trait upcasting support in new solver 2023-01-30 19:11:01 +00:00
upcast-wrong-substs.stderr Trait upcasting support in new solver 2023-01-30 19:11:01 +00:00
winnow-specializing-impls.rs Winnow specializing impls 2023-07-05 06:18:48 +00:00