Stream: t-compiler/wg-prioritization/alerts

Topic: I-prioritize #75100 async-std docs no longer build on recen…


triagebot (Aug 03 2020 at 11:59, on Zulip):

@WG-prioritization/alerts issue #75100 has been requested for prioritization.

Procedure

LeSeulArtichaut (Aug 03 2020 at 12:04, on Zulip):

(Rustdoc issue)

o0Ignition0o - Jeremy Lempereur (Aug 03 2020 at 12:05, on Zulip):

Hmm it's an interesting one, I would go for P-low if the async-std team was able to figure out a workaround.
It seems that fixing this might be hard / take a while, and reverting the commit isn't an option.
Maybe P-medium?

lcnr (Aug 03 2020 at 12:07, on Zulip):

I would have said P-critical :sweat_smile:

lcnr (Aug 03 2020 at 12:08, on Zulip):

Considering that it breaks quite a few docs.

o0Ignition0o - Jeremy Lempereur (Aug 03 2020 at 12:08, on Zulip):

I feel bad with it being P-critical because it will take a while to be fixed, yet I would go high/critical if other crates were affected as well.
We use a fairly elaborate macro to generate docs, so we're not particularly surprised that a big refactor may have caused issues there. made me believe it was pretty niche ?

o0Ignition0o - Jeremy Lempereur (Aug 03 2020 at 12:09, on Zulip):

if not, P-critical makes total sense

lcnr (Aug 03 2020 at 12:18, on Zulip):

From what I can tell the regression is:

#[cfg(any(windows, doc))]
fn this() -> u32 {
    3
}

#[cfg(any(unix, doc))]
fn this() -> u32 {
    4
}

pub async fn wow() -> u32 {
    std::future::ready(this()).await
}
o0Ignition0o - Jeremy Lempereur (Aug 03 2020 at 12:19, on Zulip):

ok definitely broader than i expected :o
P-critical is good to me

lcnr (Aug 03 2020 at 12:24, on Zulip):

yeah, my repro is something else apparently :sweat_smile:

lcnr (Aug 03 2020 at 12:25, on Zulip):

maybe my example fails because #[cfg(doc)] didn't exist for version 1.40 :thinking:

lcnr (Aug 03 2020 at 12:25, on Zulip):

nice

lcnr (Aug 03 2020 at 12:29, on Zulip):
mod windows {
    pub trait WinFoo {
        fn foo(&self) {}
    }

    impl WinFoo for () {}
}

#[cfg(any(windows, doc))]
use windows::*;

mod unix {
    pub trait UnixFoo {
        fn foo(&self) {}
    }

    impl UnixFoo for () {}
}

#[cfg(any(unix, doc))]
use unix::*;

async fn bar() {
    ().foo()
}
lcnr (Aug 03 2020 at 12:30, on Zulip):

That one should be an actual repro of the problem

DPC (Aug 03 2020 at 16:32, on Zulip):

@Joshua Nelson can shed some light on it, but i guess p-medium should be fine

Joshua Nelson (Aug 03 2020 at 16:33, on Zulip):

the two examples you gave both look about right

Joshua Nelson (Aug 03 2020 at 16:34, on Zulip):

I knew this broke, I just didn't realize it was used so much :/ the difference from the old behavior is that async fn is now considered as -> impl Trait

Joshua Nelson (Aug 03 2020 at 16:34, on Zulip):

plus crater lied which didn't help https://github.com/rust-lang/crater/issues/532

DPC (Aug 04 2020 at 01:12, on Zulip):

this was nominated (not sure where the nomination label would create a separate thread or not or just paste the text here but it didn't do either) a while back so removing I-prioritize

triagebot (Aug 04 2020 at 01:13, on Zulip):

Issue #75100's prioritization request has been removed.

DPC (Aug 04 2020 at 01:15, on Zulip):

main point of discussion is consensus on: https://github.com/rust-lang/rust/issues/75100#issuecomment-668056893

Joshua Nelson (Aug 04 2020 at 13:25, on Zulip):

The issue now is actually https://github.com/rust-lang/rust/issues/75100#issuecomment-668316246, there is some more info about it in the comments below

Joshua Nelson (Aug 04 2020 at 13:26, on Zulip):

and I have a half-broken PR for fixing it in https://github.com/rust-lang/rust/pull/75127

Joshua Nelson (Aug 06 2020 at 13:36, on Zulip):

It turns out this wasn't scheduled because it didn't have T-compiler :face_palm: I posted in the meeting channel so hopefully it can be added last minute

Joshua Nelson (Aug 06 2020 at 13:37, on Zulip):

It looks like people agreed on P-critical, do you mind adding that label? I feel bad adding it to my own breakage lol

Last update: Apr 11 2021 at 17:45UTC