Stream: wg-async-foundations

Topic: weekly meeting 2019.08.13


nikomatsakis (Aug 13 2019 at 17:00, on Zulip):

Main weekly meeting for @WG-async-foundations (not book)

centril (Aug 13 2019 at 17:01, on Zulip):

Update: Niko did a heroic effort yesterday with the PRs

nikomatsakis (Aug 13 2019 at 17:01, on Zulip):

At this point all blocking issues have pending PRs, afaik

centril (Aug 13 2019 at 17:01, on Zulip):

Most/all blocker issues seem to have PRs

nikomatsakis (Aug 13 2019 at 17:01, on Zulip):

But maybe we should look for uncategorized bugs

nikomatsakis (Aug 13 2019 at 17:02, on Zulip):

I see 5

nikomatsakis (Aug 13 2019 at 17:02, on Zulip):

Provide map_ok and map_err method for Poll<Option<Result<T, E>>> #63514

nikomatsakis (Aug 13 2019 at 17:02, on Zulip):

seems not really related to this WG per se

centril (Aug 13 2019 at 17:02, on Zulip):

libs feature; move on :slight_smile:

nikomatsakis (Aug 13 2019 at 17:03, on Zulip):

I guess tag as deferred?

centril (Aug 13 2019 at 17:03, on Zulip):

yea

nikomatsakis (Aug 13 2019 at 17:03, on Zulip):

Async fn does not compile if lifetime does not appear in bounds (sometimes) #63033

centril (Aug 13 2019 at 17:03, on Zulip):

maybe one of your PRs fixes it?

centril (Aug 13 2019 at 17:04, on Zulip):

might be good to check after they have merged

nikomatsakis (Aug 13 2019 at 17:04, on Zulip):

yeah maybe, not sure

nikomatsakis (Aug 13 2019 at 17:04, on Zulip):

I agree with @David Tolnay that this ought to compile

nikomatsakis (Aug 13 2019 at 17:05, on Zulip):

not sure if I'd call it a blocker per se

nikomatsakis (Aug 13 2019 at 17:05, on Zulip):

it's going to be time for us to start doing more prioritization past blocking soon though

nikomatsakis (Aug 13 2019 at 17:06, on Zulip):

I don't think my PRs fix it

nikomatsakis (Aug 13 2019 at 17:06, on Zulip):

I guess I'll mark it as blocking for now? Not sure how to mark it

nikomatsakis (Aug 13 2019 at 17:07, on Zulip):

I'll mark it s as unclear for now, I'd like to get through these and discuss the overall plan

centril (Aug 13 2019 at 17:07, on Zulip):

sgtm

nikomatsakis (Aug 13 2019 at 17:08, on Zulip):

Lifetime is unnecessarily captured in nested functions returning impl trait via async #63032

nikomatsakis (Aug 13 2019 at 17:08, on Zulip):

is that that same bug where we oveapproximate?

nikomatsakis (Aug 13 2019 at 17:09, on Zulip):

no, I don't think so, I'm not entirely sure what's going on here

centril (Aug 13 2019 at 17:09, on Zulip):

Self-assign to investigate perhaps?

nikomatsakis (Aug 13 2019 at 17:10, on Zulip):

yeah

nikomatsakis (Aug 13 2019 at 17:10, on Zulip):

I don't think it's really an async await bug per se

nikomatsakis (Aug 13 2019 at 17:10, on Zulip):

most likely

nikomatsakis (Aug 13 2019 at 17:10, on Zulip):

but anyway

centril (Aug 13 2019 at 17:10, on Zulip):

Aight; assigning you then

centril (Aug 13 2019 at 17:10, on Zulip):

or you can :P

nikomatsakis (Aug 13 2019 at 17:11, on Zulip):

Async fn doubles argument size #62958

nikomatsakis (Aug 13 2019 at 17:11, on Zulip):

looks like @tmandry left a few comments; It hink this is clearly not blocking

centril (Aug 13 2019 at 17:11, on Zulip):

Agree

centril (Aug 13 2019 at 17:12, on Zulip):

(Though we should look at prioritization post landing the stabilization PR)

nikomatsakis (Aug 13 2019 at 17:12, on Zulip):

confirm

nikomatsakis (Aug 13 2019 at 17:12, on Zulip):

Pretty-printing support for Rust generators #62572

nikomatsakis (Aug 13 2019 at 17:12, on Zulip):

similarly, clearly a "defer"

centril (Aug 13 2019 at 17:13, on Zulip):

seems like an internals issue; yeah defer

nikomatsakis (Aug 13 2019 at 17:13, on Zulip):

we don't really have anyone "owning" this debugger code, sadly

centril (Aug 13 2019 at 17:13, on Zulip):

maybe tmandry should?

nikomatsakis (Aug 13 2019 at 17:13, on Zulip):

there was somebody doing some work on it recently

nikomatsakis (Aug 13 2019 at 17:13, on Zulip):

maybe we can rope them in :)

nikomatsakis (Aug 13 2019 at 17:13, on Zulip):

anyway, that's it for uncategorized things

nikomatsakis (Aug 13 2019 at 17:14, on Zulip):

(for some weird reason, async fn inside fn fails to parse #51933 always shows up in the gh search results even though it's closed, do others see that?)

centril (Aug 13 2019 at 17:14, on Zulip):

(yep; idk what's up with that either)

nikomatsakis (Aug 13 2019 at 17:14, on Zulip):

gh bug I guess

nikomatsakis (Aug 13 2019 at 17:14, on Zulip):

anyway, so, the main topic I guess is stabilization

centril (Aug 13 2019 at 17:14, on Zulip):

We have two -Unclear issues; https://github.com/rust-lang/rust/labels/AsyncAwait-Unclear

centril (Aug 13 2019 at 17:15, on Zulip):

one of which we just talked about

nikomatsakis (Aug 13 2019 at 17:15, on Zulip):

not sure, @Taylor Cramer, are you here?

nikomatsakis (Aug 13 2019 at 17:15, on Zulip):

ah, yes, we do. the other unclear is

type inference doesn't work in async fn that return Box<dyn SomeTrait> #60424

I've not had time to do much investigation there

nikomatsakis (Aug 13 2019 at 17:15, on Zulip):

though it was on my list of "things to return to"

centril (Aug 13 2019 at 17:16, on Zulip):

That's probably one of those that we should focus on post removing the gate?

nikomatsakis (Aug 13 2019 at 17:17, on Zulip):

I believe so

centril (Aug 13 2019 at 17:17, on Zulip):

(Next week might be a good time to do that triage.)

nikomatsakis (Aug 13 2019 at 17:18, on Zulip):

Yep. I won't be able to make this meeting next week owing to RustConf -- I'll be in PDX and be pretty busy on Tuesday :(

nikomatsakis (Aug 13 2019 at 17:19, on Zulip):

Based on the conversation from https://github.com/rust-lang/rust/pull/63209, it seems like the most likely outcome is:

In order to ship in 1.38, we'd have to beta backport, and I suspect there are too many outstanding PRs for that to be worthwhile.

centril (Aug 13 2019 at 17:20, on Zulip):

(The release team has a fairly straightforward unanimous consensus against beta backporting stabilizations.)

nikomatsakis (Aug 13 2019 at 17:20, on Zulip):

Yeah, I saw that

nikomatsakis (Aug 13 2019 at 17:20, on Zulip):

I am disappointed because I really wanted to make 1.38, but I admit I feel better with having some time for the code to "bake" on nightly

Florian Gilcher (Aug 13 2019 at 17:20, on Zulip):

What would be _soon_?

nikomatsakis (Aug 13 2019 at 17:21, on Zulip):

I was hoping we can land the stabilization PR this week

centril (Aug 13 2019 at 17:21, on Zulip):

@Florian Gilcher basically the current set of PRs I think

Taylor Cramer (Aug 13 2019 at 17:21, on Zulip):

Yeah, sorry, I have a bit high latency at the moment but am here

centril (Aug 13 2019 at 17:21, on Zulip):

which are either r+ed or near that

centril (Aug 13 2019 at 17:21, on Zulip):

but bors was difficult yesterday...

Florian Gilcher (Aug 13 2019 at 17:21, on Zulip):

It's a PR disaster, everyone was blogging this month in anticipation for the beta. I agree with the technical assessment, though.

Florian Gilcher (Aug 13 2019 at 17:22, on Zulip):

So getting it out of the feature gate towards RustConf would be a good thing.

nikomatsakis (Aug 13 2019 at 17:22, on Zulip):

I think being able to say "async-await has been stabilized" is still quite decent

Taylor Cramer (Aug 13 2019 at 17:22, on Zulip):

The release team has a fairly straightforward unanimous consensus against beta backporting stabilizations.

Without taking a personal position here, is there a similar consensus against delaying the branching of beta by a week?

Florian Gilcher (Aug 13 2019 at 17:22, on Zulip):

Yes (@nikomatsakis )

centril (Aug 13 2019 at 17:23, on Zulip):

@Taylor Cramer there's no such consensus in the team but @Pietro Albini wasn't too happy about it when I asked

centril (Aug 13 2019 at 17:23, on Zulip):

@Florian Gilcher the only thing I can promise is to prioritize async/await PRs over all else (within reason... critical infra stuff...)

centril (Aug 13 2019 at 17:23, on Zulip):

When they all land I will rebase my PR

nikomatsakis (Aug 13 2019 at 17:24, on Zulip):

(Where does one view the queue these days?)

centril (Aug 13 2019 at 17:24, on Zulip):

@nikomatsakis https://buildbot2.rust-lang.org/homu/queue/rust

nikomatsakis (Aug 13 2019 at 17:24, on Zulip):

ok, same place

nikomatsakis (Aug 13 2019 at 17:24, on Zulip):

https://github.com/rust-lang/rust/pull/63376 is the "long pole in the tent" I guess

nikomatsakis (Aug 13 2019 at 17:24, on Zulip):

in that it's not yet r+'d

centril (Aug 13 2019 at 17:25, on Zulip):

@nikomatsakis yeah good point

centril (Aug 13 2019 at 17:25, on Zulip):

@Pietro Albini how do I "retry" a crater run?

centril (Aug 13 2019 at 17:25, on Zulip):

I want to bump that PR above another one

Pietro Albini (Aug 13 2019 at 17:26, on Zulip):

Without taking a personal position here, is there a similar consensus against delaying the branching of beta by a week?

well, delaying beta or backporting is basically the same thing, and with a beta delay there are issues like delaying the bootstrap bump and possibly broken tools

Pietro Albini (Aug 13 2019 at 17:26, on Zulip):

if y'all want to delay beta it's better to just backport the whole thing

nikomatsakis (Aug 13 2019 at 17:27, on Zulip):

I'd like to focus on getting things landed on nightly

nikomatsakis (Aug 13 2019 at 17:27, on Zulip):

I (personally) think that's the most important thing at this stage

centril (Aug 13 2019 at 17:27, on Zulip):

I basically agree very strongly with the sentiment in:

One thing I noticed is that a lot of the bugs in question were filed relatively recently (within the last week or two, and, in the case of #63388, just a few days ago). This makes me a bit nervous that we may see some more bugs getting filed once things become stable and we get more attention. I would be very happy if we only have to fix those bugs on nightly, without the added pressure of beta backports.

Pietro Albini (Aug 13 2019 at 17:27, on Zulip):

by the way beta already branched off, so the only option if you want is to backport, and you still have time to decide

nikomatsakis (Aug 13 2019 at 17:28, on Zulip):

right

nikomatsakis (Aug 13 2019 at 17:28, on Zulip):

so I guess the question is "what comes after stabilization", and maybe we'll discuss that next time? I have to run in a few minutes, I have back-to-back meetings today :(

nikomatsakis (Aug 13 2019 at 17:28, on Zulip):

there are a few unclear issues, I can try to do a bit of digging there

nikomatsakis (Aug 13 2019 at 17:29, on Zulip):

but I think we pretty clearly are going to want to set some "next" milestone -- i.e., we've still got "quality of life" things to fix

centril (Aug 13 2019 at 17:30, on Zulip):

I think issues can be roughly categorized as:

1. Fixing language bugs (ICEs, type inference not working...)
2. Improving diagnostics
3. Generator optimizations

Taylor Cramer (Aug 13 2019 at 17:31, on Zulip):

There're also a bunch of places where (1) and (2) overlap, where code should compile, but there's a relatively easy workaround that is completely unintuitive based on the bogus error message we provide.

Florian Gilcher (Aug 13 2019 at 17:34, on Zulip):

While I'm seriously grumpy about the whole situation from a marketing perspective (that's a triple fault), I'd prefer to keep our pace, cut our losses and review later and deliver a good compiler over all.

Florian Gilcher (Aug 13 2019 at 17:34, on Zulip):

If we delay beta now, rush all the patches in and run into a quality problem down the road, we have _two_ marketing problems.

centril (Aug 13 2019 at 17:35, on Zulip):

@Florian Gilcher fwiw; I might be inside a bubble, but reddit at least showed some understanding for our plight :slight_smile:

centril (Aug 13 2019 at 17:36, on Zulip):

(whereas I expected my head to be bitten off...)

Florian Gilcher (Aug 13 2019 at 17:36, on Zulip):

@centril I wouldn't have expected that, but it would have been such a good positive signal for the summer.

centril (Aug 13 2019 at 17:37, on Zulip):

(context: https://www.reddit.com/r/rust/comments/cpcn22/updating_to_asyncawait/)

nikomatsakis (Aug 13 2019 at 17:40, on Zulip):

(Sorry, I had to go AFK, local emergency -- will be back in an hour or two)

centril (Aug 13 2019 at 17:51, on Zulip):

@Taylor Cramer btw, general note re. https://github.com/rust-lang/rust/pull/63512#issuecomment-520937296 -- T-libs folks have said that it is OK to land small things as unstable without a t-libs member reviewing; they will review on stabilization

centril (Aug 13 2019 at 17:51, on Zulip):

so e.g. if two people agree (e.g. reviewer + author) then it's fine to land

Taylor Cramer (Aug 13 2019 at 18:51, on Zulip):

ah, good to know

Taylor Cramer (Aug 13 2019 at 18:51, on Zulip):

is that written down somewhere?

Taylor Cramer (Aug 13 2019 at 18:52, on Zulip):

(@centril )

centril (Aug 13 2019 at 18:52, on Zulip):

@Taylor Cramer mostly in conversations with libs members but iirc it was written somewhere... let me see if I can remember

centril (Aug 13 2019 at 18:56, on Zulip):

@Taylor Cramer here: https://github.com/rust-lang/rust/pull/62596#issuecomment-511865847

Taylor Cramer (Aug 13 2019 at 19:02, on Zulip):

ty ty

centril (Aug 13 2019 at 19:04, on Zulip):

np :slight_smile:

RalfJ (Aug 14 2019 at 11:07, on Zulip):

not that this is a place anyone will ever find in the future^^

centril (Aug 14 2019 at 13:36, on Zulip):

@RalfJ we should maybe add a page re. the standard libs development in the rustc guide

centril (Aug 14 2019 at 13:36, on Zulip):

@nikomatsakis Agree with your assessment in https://github.com/rust-lang/rust/issues/63033#issuecomment-521234955

centril (Aug 14 2019 at 13:37, on Zulip):

in particular this seems like a corner case and it would be good to be prudent re. complicating the inference algorithm.

Last update: Nov 18 2019 at 00:45UTC