Skip to content

Rust does not normalize opaque types with escaping bound vars #104601

Closed
@compiler-errors

Description

@compiler-errors

Opening this issue to record the fact that we don't normalize opaques with escaping bound vars in Reveal::All mode after #103509.

I am not aware of any impacts of this on regular rustc compilation sessions, at least not without using TAIT in some strange ways. However, this causes rust-lang/miri#2433 to reoccur, and makes me sad theoretically, since we should be revealing all opaques during monomorphization, for example.

Fixing this is not hard (43119d6, #100980), but doing it without incurring major performance penalties (#103423) is difficult.

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-impl-traitArea: `impl Trait`. Universally / existentially quantified anonymous types with static dispatch.F-type_alias_impl_trait`#[feature(type_alias_impl_trait)]`T-typesRelevant to the types team, which will review and decide on the PR/issue.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions