rust/compiler/rustc_trait_selection/src/solve
bors 6b771f6b5a Auto merge of #117878 - gavinleroy:proper-depth-check, r=lcnr
Fix depth check in ProofTreeVisitor.

The hack to cutoff overflows and cycles in the new trait solver was incorrect. We want to inspect everything with depth [0..10].

This fix exposed a previously unseen bug, which caused the compiler to ICE when invoking `trait_ref` on a non-assoc type projection. I simply added the guard in the `AmbiguityCausesVisitor`, and updated the expected output for the `auto-trait-coherence` test which now includes the extra note:
```text
   |
   = note: upstream crates may add a new impl of trait `std::marker::Send` for type `OpaqueType` in future versions
```

r? `@lcnr`
2023-11-15 18:53:04 +00:00
..
assembly update type flags 2023-11-13 14:13:54 +00:00
eval_ctxt continue renaming 2023-11-13 14:13:54 +00:00
inspect Fix overflow and cycle bound for ProofTreeVisitor. 2023-11-13 16:36:01 +01:00
project_goals args~~_ref~~_may_unify 2023-11-13 11:27:15 +00:00
alias_relate.rs inspect: strongly typed CandidateKind 2023-09-11 13:11:32 +02:00
canonicalize.rs finish RegionKind rename 2023-11-14 13:13:27 +00:00
fulfill.rs avoid building proof trees in select 2023-07-10 15:17:01 +02:00
mod.rs use global cache when computing proof trees 2023-11-02 10:41:27 +01:00
normalize.rs AliasTy::new instead of tcx method 2023-10-18 13:57:19 +02:00
search_graph.rs use global cache when computing proof trees 2023-11-02 10:41:27 +01:00
trait_goals.rs args~~_ref~~_may_unify 2023-11-13 11:27:15 +00:00