diff options
| author | Jacob Pratt <jacob@jhpratt.dev> | 2024-04-04 21:16:56 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-04-04 21:16:56 -0400 |
| commit | fcb0e9d07a3397731acd20059b8adf47b6863cd6 (patch) | |
| tree | 45c88695597532c6b02dd732929e5a94a0ab5dc0 /compiler/rustc_llvm/llvm-wrapper/CoverageMappingWrapper.cpp | |
| parent | de2cb0d76c79720eb641e3ebbacf26907eac69dc (diff) | |
| parent | 92b280ce81e2cf9834ed1965ae4e63e80bce0dc1 (diff) | |
| download | rust-fcb0e9d07a3397731acd20059b8adf47b6863cd6.tar.gz rust-fcb0e9d07a3397731acd20059b8adf47b6863cd6.zip | |
Rollup merge of #123363 - lcnr:normalizes-to-zero-to-inf, r=BoxyUwU
change `NormalizesTo` to fully structurally normalize notes in https://hackmd.io/wZ016dE4QKGIhrOnHLlThQ need to also update the dev-guide once this PR lands. in short, the setup is now as follows: `normalizes-to` internally implements one step normalization, applying that normalization to the `goal.predicate.term` causes the projected term to get recursively normalized. With this `normalizes-to` normalizes until the projected term is rigid, meaning that we normalize as many steps necessary, but at least 1. To handle rigid aliases, we add another candidate only if the 1 to inf step normalization failed. With this `normalizes-to` is now full structural normalization. We can now change `AliasRelate` to simply emit `normalizes-to` goals for the rhs and lhs. This avoids the concerns from https://github.com/rust-lang/trait-system-refactor-initiative/issues/103 and generally feels cleaner
Diffstat (limited to 'compiler/rustc_llvm/llvm-wrapper/CoverageMappingWrapper.cpp')
0 files changed, 0 insertions, 0 deletions
