Stream: t-compiler/wg-rls-2.0

Topic: Unresolved associated types


Paul Faria (Aug 08 2020 at 21:09, on Zulip):

@Florian Diebold I saw your comments here https://github.com/rust-analyzer/rust-analyzer/issues/5003 and was wondering if this issue is being used to track resolution of associated types. I was taking a look at fixing cases like:

trait A {
    type B;

    fn act(&self) -> Self::B;
}

struct Impl;

impl A for Impl {
    type B = u8;

    fn act(&self) -> Self::B {
        0
    }
}

Where the B in Self::B in both cases above is an unresolved reference.

matklad (Aug 12 2020 at 09:48, on Zulip):

See https://github.com/rust-analyzer/rust-analyzer/issues/3407 also

matklad (Aug 12 2020 at 09:48, on Zulip):

I think we actually resolve these cases, we just stupidly forget this by the time we compute highlights & goto def

Florian Diebold (Aug 12 2020 at 09:50, on Zulip):

yeah. I'm still working on that, kind of, it's just taking a while :grimacing:

matklad (Aug 12 2020 at 09:52, on Zulip):

Ah, so that is also a part of SIR (secret IR)? Nice!

Florian Diebold (Aug 12 2020 at 12:26, on Zulip):

well, the SIR would contain the ID of the selected associated type

Last update: Sep 27 2020 at 14:45UTC