Skip to content

Aliases break resolution of qualified variants in patterns #11986

Closed
@iDawer

Description

@iDawer

rust-analyzer version: rust-analyzer version: faaec86 2022-04-12 nightly

rustc version: rustc 1.60.0 (7737e0b5c 2022-04-04)

it.into_iter().filter_map(|pred| match pred.skip_binders() {
hir_ty::WhereClause::Implemented(trait_ref) => {
Some(Trait::from(trait_ref.hir_trait_id()))
}
_ => None,
})

hir_ty::WhereClause::Implemented is unresolved:
q16

Minimized:

mod m {
    pub enum Enum {
        Foo(u8),
    }
    pub type Alias = Enum;
}
fn f() {
    let e = m::Alias::Foo(0);
    let m::Alias::Foo(x) = &e;
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-nameresname, path and module resolutionA-tytype system / type inference / traits / method resolutionC-bugCategory: bug

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions