diff options
| author | Matthias Krüger <matthias.krueger@famsik.de> | 2025-01-23 19:54:25 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-01-23 19:54:25 +0100 |
| commit | dafc861aa31831887fb0e634b07711e4f6ed6e66 (patch) | |
| tree | cf57932190995f8556962062d838849ca437fa49 /compiler/rustc_driver_impl/src/lib.rs | |
| parent | 4496f23ca9f7dcc9e85209a3a99f6e911b1009f5 (diff) | |
| parent | 09b784fac560d725ffc37b6fad1037615f63b232 (diff) | |
| download | rust-dafc861aa31831887fb0e634b07711e4f6ed6e66.tar.gz rust-dafc861aa31831887fb0e634b07711e4f6ed6e66.zip | |
Rollup merge of #135766 - lcnr:candidate-assembly-3, r=compiler-errors
handle global trait bounds defining assoc types This also fixes the compare-mode for - tests/ui/coherence/coherent-due-to-fulfill.rs - tests/ui/codegen/mono-impossible-2.rs - tests/ui/trivial-bounds/trivial-bounds-inconsistent-projection.rs - tests/ui/nll/issue-61320-normalize.rs I first considered the alternative to always prefer where-bounds during normalization, regardless of how the trait goal has been proven by changing `fn merge_candidates` instead. https://github.com/rust-lang/rust/blob/ecda83b30f0f68cf5692855dddc0bc38ee8863fc/compiler/rustc_next_trait_solver/src/solve/assembly/mod.rs#L785 This approach is more restrictive than behavior of the old solver to avoid mismatches between trait and normalization goals. This may be breaking in case the where-bound adds unnecessary region constraints and we currently don't ever try to normalize an associated type. I would like to detect these cases and change the approach to exactly match the old solver if required. I want to minimize cases where attempting to normalize in more places causes code to break. r? `@compiler-errors`
Diffstat (limited to 'compiler/rustc_driver_impl/src/lib.rs')
0 files changed, 0 insertions, 0 deletions
