@_sjwang05|656176 said:
- tests/ui/type-alias-impl-trait/implied_bounds2.rs
- tests/ui/type-alias-impl-trait/implied_lifetime_wf_check3.rs
- tests/ui/type-alias-impl-trait/implied_lifetime_wf_check4_static.rs
- tests/ui/type-alias-impl-trait/unbounded_opaque_type.rs
- tests/ui/pattern/usefulness/impl-trait.rs
all ICE with the same-ish stacktraces. Seems like it happens because of the set_opaques_to_non_rigid call when wfck creates a param_env: https://github.com/rust-lang/rust/blob/e19d321c06479c6fd77533582b0d5a86651f1be3/compiler/rustc_trait_selection/src/traits/mod.rs#L309-L313
and then the debug_assert here explodes when it seems the non-rigid opaques: https://github.com/rust-lang/rust/blob/e19d321c06479c6fd77533582b0d5a86651f1be3/compiler/rustc_trait_selection/src/regions.rs#L33-L37
This is kind of a pain 🤔 either we do renormalize region assumptions from the ParamEnv just for TAIT, we could alternatively emit an error when encountering TAIT in a rigid position in the ParamEnv as something that is not supported yet
@_sjwang05|656176 said:
all ICE with the same-ish stacktraces. Seems like it happens because of the
set_opaques_to_non_rigidcall when wfck creates a param_env: https://github.com/rust-lang/rust/blob/e19d321c06479c6fd77533582b0d5a86651f1be3/compiler/rustc_trait_selection/src/traits/mod.rs#L309-L313and then the debug_assert here explodes when it seems the non-rigid opaques: https://github.com/rust-lang/rust/blob/e19d321c06479c6fd77533582b0d5a86651f1be3/compiler/rustc_trait_selection/src/regions.rs#L33-L37
This is kind of a pain 🤔 either we do renormalize region assumptions from the
ParamEnvjust for TAIT, we could alternatively emit an error when encountering TAIT in a rigid position in theParamEnvas something that is not supported yet