diff options
author | bors[bot] <26634292+bors[bot]@users.noreply.github.com> | 2021-03-21 16:42:08 +0000 |
---|---|---|
committer | GitHub <[email protected]> | 2021-03-21 16:42:08 +0000 |
commit | 35868c4f7dc479dd5f731a2785ec6a203046ea9c (patch) | |
tree | e78313acecc4fa84a11a2d8e7da7c85c98f940e0 /crates/hir_ty/src/traits/chalk | |
parent | 1ae20d2b894171f0b8368309da727cd365b95fc1 (diff) | |
parent | d8f8b495ad5c9e3676ddf7af53b23bb5b7f2fde0 (diff) |
Merge #8133
8133: Ignore type bindings in generic_predicates_for_param (fix panic on ena and crates depending on it) r=flodiebold a=flodiebold
This allows us to handle more cases without a query cycle, which includes certain cases that rustc accepted. That in turn means we avoid triggering salsa-rs/salsa#257 on valid code (it will still happen if the user writes an actual cycle).
We actually accept more definitions than rustc now; that's because rustc only ignores bindings when looking up super traits, whereas we now also ignore them when looking for predicates to disambiguate associated type shorthand. We could introduce a separate query for super traits if necessary, but for now I think this should be fine.
Co-authored-by: Florian Diebold <[email protected]>
Diffstat (limited to 'crates/hir_ty/src/traits/chalk')
0 files changed, 0 insertions, 0 deletions