Stream: wg-async-foundations

Topic: weekly meeting 2019.08.27


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

Hello @WG-async-foundations! Weekly sync meeting is now. =)

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

It was said before, but:

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

:tada: we shipped it

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

well, almost

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

Though now we probably got some set of criticial bugs to fix before the thing actually stabilizes

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

I think a good thing for us to discuss (maybe wait a few minutes for folks to show up) is what to prioritize over the next N weeks.

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

I was talking to @Esteban Küber at RustConf and they raised the point that, if we want to improve users' initial experience with async-await, we have until the beta to make diagnostic improvements, and it probably makes sense to put some emphasis on those (versus "new features")

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

Of course the same is true for any back-compat blockers (of which we found one at RustConf)

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

OK, well, let's take a look at the uncategorized issues to start

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

Temporary values do not outlive a direct await #63778

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

As @centril noted, I think this is a dup of #63832

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

which I already marked as a blocker

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

I think I will close it as a duplicate

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

and I will assign to myself to either fix or write mentoring instructions --

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

actually, who's around at this meeting? I know I saw @davidtwco lurking. Do you have time/appetite to work on this, with mentoring?

davidtwco (Aug 27 2019 at 17:07, on Zulip):

Yeah, sure.

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

I guess @Matthew Jasper already pointed out a possible fix that could be made at the level of the desugaring

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

They also pointed out (which I agree with) that it's not entirely clear what's "optimal", although I think the current behavior is pretty surprising. This just seems like an additional reason to generally prefer to pull out .await into its own let line, to my mind.

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

That's a bit of a lang team call but I feel pretty confident we'll decide for consistency with sync code

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

so @davidtwco can I assign #63832 to you?

davidtwco (Aug 27 2019 at 17:10, on Zulip):

Sure.

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

rustdoc renders re-exported async fns incorrectly #63710

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

this feels like one of those "polish" questions that would definitely be nice to fix

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

cc @QuietMisdreavus -- any tips on how easy or hard this might be?

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

I think our labels aren't really sufficient here, but I think i'll abuse blocking to also include some "nice to have"

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

OK, I'm looking over the unclear issues

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

I think we want priority labels or something

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

yeah, we do

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

An async fn which isn't Send but which should be? #63768

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

so this is really from that same family of issues -- our generator type is "overapproximated" in terms of what values it holds on to

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

I guess I think we need to do a general "retriage" of the deferred items to try and prioritize them; if I were going to pick one "deeper change" to try and get for the beta, it'd probably be to improve this problem. It seems to be raised a lot.

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

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

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

this old friend is the old "unclear" item

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

I haven't looked closely; does this interact with noalias in any way?

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

Do you mean #60424? I don't thnk so

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

no, the other one above

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

Oh. No, not in particular.

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

I think I'm going to mark them both as "Deferred" for now, and then we can try to triage the deferred list a bit

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

this old friend is the old "unclear" item

Would be good to improve upon this now with more time

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

Oh. No, not in particular.

that is, #63768 and friends basically affect whether a generator type is considered Send, but that's it

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

Would be good to improve upon this now with more time

yeah, I was wondering about that. I'd certainly feel better if we could get this behavior right.

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

I think I'm going to mark them both as "Deferred" for now, and then we can try to triage the deferred list a bit

probably we won't have time for this in this meeting -- I'm thinking about trying to schedule a separate meeting for that, maybe a zoom call

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

I'd sort of like to have @Taylor Cramer participating, for example

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

maybe I'll make a doodle and try to do that sometime this week

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

thoughts?

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

sounds like a good idea to go through all of the issues again, resetting all of them to "unclear" initially

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

for efficiency, let's roughly decide how to proceed on that zoom meeting

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

(e.g. what new labels to introduce, and whatnot...)

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

yep

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

I think we can keep anything which requires additional unstable features to deferred

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

then I can get lunch, which I forgot to eat thus far :)

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

OK, @WG-async-foundations, we decided to try and hold a "follow-up meeting" to do the remaining prioritization work (and decide on a labeling scheme) now that async-await is stable. Here is a doodle poll to try and find a mutually workable time. I seeded it with 9-5 Eastern time (haha! the power of they who create the poll) over the next few days.

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

That poll is such an exercise in avoiding double booking =P

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

(with all the other rust-lang stuff)

QuietMisdreavus (Aug 27 2019 at 18:34, on Zulip):

cc QuietMisdreavus -- any tips on how easy or hard this might be?

QuietMisdreavus (Aug 27 2019 at 18:34, on Zulip):

re: https://github.com/rust-lang/rust/issues/63710 - i haven't looked at it in a while, but it could be anywhere from simple to terrible

QuietMisdreavus (Aug 27 2019 at 18:35, on Zulip):

loads of rustdoc things are different between "crate-local" and "via a dependency" due to what gets left out in metadata

QuietMisdreavus (Aug 27 2019 at 18:36, on Zulip):

is the de-sugared signature the thing that gets into the crate's metadata?

QuietMisdreavus (Aug 27 2019 at 18:36, on Zulip):

because if so, that's where it gets difficult

QuietMisdreavus (Aug 27 2019 at 18:37, on Zulip):

if there's some way for rustdoc to see that a function was actually async in its original crate, and not something that merely returned impl Future, then we could muck about with the information to store it differently

QuietMisdreavus (Aug 27 2019 at 18:37, on Zulip):

s/store/display/ i guess

nikomatsakis (Aug 27 2019 at 18:38, on Zulip):

is the de-sugared signature the thing that gets into the crate's metadata?

@QuietMisdreavus hmm yes probably

QuietMisdreavus (Aug 27 2019 at 18:40, on Zulip):

it's also possible that the code that deals with external items doesn't process async fns

QuietMisdreavus (Aug 27 2019 at 18:41, on Zulip):

if the async-ness also makes it into the metadata, then we may be able to get away with porting #58203 to the inlining code

QuietMisdreavus (Aug 27 2019 at 18:44, on Zulip):

because right now we blanket-assume all functions from other crates are not async, apparently https://github.com/rust-lang/rust/blob/0396aace27eea97c3603e9683e921807dff2a314/src/librustdoc/clean/inline.rs#L210-L236

nikomatsakis (Aug 27 2019 at 20:04, on Zulip):

OK, @WG-async-foundations, we decided to try and hold a "follow-up meeting" to do the remaining prioritization work (and decide on a labeling scheme) now that async-await is stable. Here is a doodle poll to try and find a mutually workable time. I seeded it with 9-5 Eastern time (haha! the power of they who create the poll) over the next few days.

Looks like Wed at 2pm ET (8pm CEST) works for everyone -- as does 4pm/10pm. I'll go with 2pm

nikomatsakis (Aug 27 2019 at 20:05, on Zulip):

Calendar event created -- it has an attached Zoom room.

nikomatsakis (Aug 28 2019 at 18:01, on Zulip):

Hey @WG-async-foundations -- follow-up triage meeting on Zoom taking place now-ish

nikomatsakis (Aug 28 2019 at 18:04, on Zulip):

So far I'm by myself but I'm going to just go ahead and get started :)

nikomatsakis (Aug 28 2019 at 18:04, on Zulip):

feel free to join any time

davidtwco (Aug 28 2019 at 18:04, on Zulip):

Won’t be able to attend, unfortunately, work got in the way. Will watch afterwards if recorded.

nikomatsakis (Aug 28 2019 at 18:10, on Zulip):

OK, dropbox paper btw

nikomatsakis (Aug 28 2019 at 18:10, on Zulip):

I'll record but I'm not sure how fun it'll be to watch

Giles Cope (Aug 28 2019 at 21:54, on Zulip):

Sorry I missed it, was protesting.

nikomatsakis (Aug 29 2019 at 20:45, on Zulip):

Video posted on YouTube -- still uploading though

nikomatsakis (Aug 29 2019 at 20:45, on Zulip):

we did not get through the full list of bugs

centril (Aug 29 2019 at 20:49, on Zulip):

(left some notes on the paper)

Last update: Nov 18 2019 at 00:35UTC