Stream: wg-async-foundations

Topic: meeting 2019.10.01


Taylor Cramer (Oct 01 2019 at 17:00, on Zulip):

o/

Taylor Cramer (Oct 01 2019 at 17:01, on Zulip):

@WG-async-foundations

Giles Cope (Oct 01 2019 at 17:01, on Zulip):

afternoon!

Taylor Cramer (Oct 01 2019 at 17:04, on Zulip):

looking at asyncawait-focus

Taylor Cramer (Oct 01 2019 at 17:04, on Zulip):

https://github.com/rust-lang/rust/issues?q=is%3Aopen+is%3Aissue+label%3AAsyncAwait-Focus

Taylor Cramer (Oct 01 2019 at 17:05, on Zulip):

the main one there is the type inference / coercion issue: https://github.com/rust-lang/rust/issues/60424

Taylor Cramer (Oct 01 2019 at 17:05, on Zulip):

@nikomatsakis and I commented a week ago, but I'm not sure there has been any more progress

Taylor Cramer (Oct 01 2019 at 17:05, on Zulip):

unfortunately it doesn't seem like there's a super clear path to resolving it

nikomatsakis (Oct 01 2019 at 17:06, on Zulip):

let me skim the comments

nikomatsakis (Oct 01 2019 at 17:06, on Zulip):

I thought it was looking pretty good

nikomatsakis (Oct 01 2019 at 17:06, on Zulip):

was planning to spend a bit more time on it tomorrow

davidtwco (Oct 01 2019 at 17:06, on Zulip):

Is there an open PR?

nikomatsakis (Oct 01 2019 at 17:06, on Zulip):

not yet, but I have a branch,

Taylor Cramer (Oct 01 2019 at 17:06, on Zulip):

okay-- well, I guess the path didn't seem clear to me, but maybe it made sense to you. I saw you were suggesting pulling the Output type out of the return type

nikomatsakis (Oct 01 2019 at 17:06, on Zulip):

can you have it assigned to me?

Taylor Cramer (Oct 01 2019 at 17:07, on Zulip):

done

nikomatsakis (Oct 01 2019 at 17:07, on Zulip):

I'll put in some more time tomorrow

nikomatsakis (Oct 01 2019 at 17:07, on Zulip):

it looks like we need to pick some focus issues

Taylor Cramer (Oct 01 2019 at 17:07, on Zulip):

looks like the ondeck list is also empty: https://github.com/rust-lang/rust/issues?utf8=%E2%9C%93&q=is%3Aopen+is%3Aissue+label%3AAsyncAwait-OnDeck+

nikomatsakis (Oct 01 2019 at 17:08, on Zulip):

yeah we need to bootstrap :)

nikomatsakis (Oct 01 2019 at 17:08, on Zulip):

I have a suggestion or two

nikomatsakis (Oct 01 2019 at 17:08, on Zulip):

oh btw

nikomatsakis (Oct 01 2019 at 17:08, on Zulip):

if you look at the links here, I purposefully used "cross-org links"

nikomatsakis (Oct 01 2019 at 17:09, on Zulip):

i.e., they search the whole rust-lang org

nikomatsakis (Oct 01 2019 at 17:09, on Zulip):

my reasoning being that we should include issues on the async book

nikomatsakis (Oct 01 2019 at 17:09, on Zulip):

that said, the UI is kind of "meh"

nikomatsakis (Oct 01 2019 at 17:10, on Zulip):

anyway maybe we shoudl try to each nominate some issues and discuss?

nikomatsakis (Oct 01 2019 at 17:10, on Zulip):

say, take 5 minutes and people can add labels and/or post links?

Taylor Cramer (Oct 01 2019 at 17:10, on Zulip):

sgtm

nikomatsakis (Oct 01 2019 at 17:10, on Zulip):

/me starts to play the jeopardy theme song

nikomatsakis (Oct 01 2019 at 17:11, on Zulip):

"dum da dum dum dum da dum... dum da dum da DUM DA DUM DUM DUM"...

nikomatsakis (Oct 01 2019 at 17:12, on Zulip):

oh btw there is one uncategorized issue:

Unhelpful error "one type is more general than the other" in async code #64650

nikomatsakis (Oct 01 2019 at 17:12, on Zulip):

it seems like it has to do with suggesting async move

nikomatsakis (Oct 01 2019 at 17:12, on Zulip):

I'm going to call it Other

Taylor Cramer (Oct 01 2019 at 17:15, on Zulip):

oh I see you added https://github.com/rust-lang/rust/issues/64960 to ondeck-- I was gonna suggest that one

csmoe (Oct 01 2019 at 17:16, on Zulip):

it seems like it has to do with suggesting async move

same suggestion request in this one https://github.com/rust-lang/rust/issues/64382

Giles Cope (Oct 01 2019 at 17:17, on Zulip):

I think a suggestion would be great as I'd be stumped for a while seeing that error.

nikomatsakis (Oct 01 2019 at 17:18, on Zulip):

ok, I did a kind of first pass

nikomatsakis (Oct 01 2019 at 17:18, on Zulip):

kind of skipped around but it's also been .. 7 mintu

nikomatsakis (Oct 01 2019 at 17:18, on Zulip):

we have 7 "OnDeck" items listed, not sure how many of those are from me :)

nikomatsakis (Oct 01 2019 at 17:18, on Zulip):

maybe we can briefly discuss 'em?

nikomatsakis (Oct 01 2019 at 17:19, on Zulip):

Cannot await in scope that contains call to format! #64960

nikomatsakis (Oct 01 2019 at 17:20, on Zulip):

I nominated that one because I think it's a big toe-stub, but I'm not really sure what's the best fix. I suspect it has to do with trying to be smarter about what's live over a yield boundary.

nikomatsakis (Oct 01 2019 at 17:20, on Zulip):

And maybe that reveals to us that the things to be dropped are all references or have types that are known to be send

nikomatsakis (Oct 01 2019 at 17:21, on Zulip):

Async struct method, <_'> lifetime shadowing #64630

nikomatsakis (Oct 01 2019 at 17:21, on Zulip):

I nominated this one because it seems pretty broken; though @Matthew Jasper assigned themselves. Seems like maybe good focus then?

nikomatsakis (Oct 01 2019 at 17:21, on Zulip):

Lifetime bounds in auto trait impls prevent trait from being implemented on generators #64552

nikomatsakis (Oct 01 2019 at 17:22, on Zulip):

I nominated that one because it seemed weird and @Aaron Hill had kind of identified the cause, though I don't recal how easy I thought the fix was :)

nikomatsakis (Oct 01 2019 at 17:22, on Zulip):

Consider async blocks on lifetime errors #64382

nikomatsakis (Oct 01 2019 at 17:22, on Zulip):

I guess this is the suggestion @csmoe was referring to

nikomatsakis (Oct 01 2019 at 17:22, on Zulip):

seems like a good one, and I suspect relatively easy

nikomatsakis (Oct 01 2019 at 17:23, on Zulip):

non-send futures error at point of use, but could cite point of definition in some cases #64130

nikomatsakis (Oct 01 2019 at 17:23, on Zulip):

@davidtwco made great progress here but I think there are still a few details worth finishing up. I'd prefer to see us keep pushing just a bit

nikomatsakis (Oct 01 2019 at 17:24, on Zulip):

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

this has to do with us using info about drop in determining whether a future is send; relating to string constants

nikomatsakis (Oct 01 2019 at 17:24, on Zulip):

(also NLL, which does take that into account)

nikomatsakis (Oct 01 2019 at 17:24, on Zulip):

async/await: awaiting inside a match block captures borrow too eagerly #57017

nikomatsakis (Oct 01 2019 at 17:24, on Zulip):

seems like the imprecision here is one of the biggest annoyances I hear about

nikomatsakis (Oct 01 2019 at 17:25, on Zulip):

ok, those are my nominations -- I say we pick 2 or 3? depends how many people we have? some of them have more unknowns than otehrs

davidtwco (Oct 01 2019 at 17:25, on Zulip):

I'm happy to keep going on #64130 and maybe grab something else too.

nikomatsakis (Oct 01 2019 at 17:25, on Zulip):

relatively easy ones seem to be:

Taylor Cramer (Oct 01 2019 at 17:25, on Zulip):

it seems like there are a number still under the general category that the pre-MIR analysis for auto traits is imprecise

Taylor Cramer (Oct 01 2019 at 17:26, on Zulip):

though those are probably all difficult fixes

nikomatsakis (Oct 01 2019 at 17:26, on Zulip):

yeah. I was thinking about this recently and thinking that maybe we can do the analysis on MIR, as @Zoxc suggested

nikomatsakis (Oct 01 2019 at 17:26, on Zulip):

I agree that'll be a harder one but I think it's worth prioritizing

nikomatsakis (Oct 01 2019 at 17:26, on Zulip):

I'd be willing to put some time into mentoring it

nikomatsakis (Oct 01 2019 at 17:26, on Zulip):

at minimum, to take an hour with someone on a call and try to talk through what it might mean to fix it

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

but I think I'd prefer someone experienced in/around compiler

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

/me eyes @Taylor Cramer and @davidtwco

davidtwco (Oct 01 2019 at 17:27, on Zulip):

I don't anticipate #64130 taking too long to polish off.

davidtwco (Oct 01 2019 at 17:27, on Zulip):

So I'd be happy to.

nikomatsakis (Oct 01 2019 at 17:28, on Zulip):

it seems like there are a number still under the general category that the pre-MIR analysis for auto traits is imprecise

ps I was using #57017 as my stand-in for this bug, not sure if there's a better one

nikomatsakis (Oct 01 2019 at 17:28, on Zulip):

so maybe we do the "easy ones" I listed, #57017, and the coercion one that I was already investigating?

nikomatsakis (Oct 01 2019 at 17:29, on Zulip):

for the "easy ones" -- we'd want to do a bit of mentoring -- @csmoe / @Giles Cope were either of you interested in maybe trying to fix https://github.com/rust-lang/rust/issues/64382 ?

csmoe (Oct 01 2019 at 17:29, on Zulip):

@nikomatsakis I will take care of it

nikomatsakis (Oct 01 2019 at 17:30, on Zulip):

do you have some idea where to start, or would you like a few notes?

nikomatsakis (Oct 01 2019 at 17:30, on Zulip):

I was basically going to point to the code in NLL error reporting that handles closure errors

nikomatsakis (Oct 01 2019 at 17:30, on Zulip):

I imagine we can do something similar...

csmoe (Oct 01 2019 at 17:32, on Zulip):

I was basically going to point to the code in NLL error reporting that handles closure errors

yep, I did some investigation yesterday and found the closure error, seems not that hard.

nikomatsakis (Oct 01 2019 at 17:33, on Zulip):

I assigned you, @csmoe

nikomatsakis (Oct 01 2019 at 17:33, on Zulip):

I'll go tag those issues as focus for now?

nikomatsakis (Oct 01 2019 at 17:33, on Zulip):

@Giles Cope are you looking for something to do, too? :)

Giles Cope (Oct 01 2019 at 17:33, on Zulip):

I'm still pondering https://github.com/rust-lang/rust/pull/64603 a bit.

nikomatsakis (Oct 01 2019 at 17:34, on Zulip):

ah, great

nikomatsakis (Oct 01 2019 at 17:34, on Zulip):

let's mark those related issues as focus issues

Giles Cope (Oct 01 2019 at 17:35, on Zulip):

are the untriaged triaged?

nikomatsakis (Oct 01 2019 at 17:36, on Zulip):

I did go through them

nikomatsakis (Oct 01 2019 at 17:36, on Zulip):

I also marked the remaining things we didn't choose as "on-deck"

nikomatsakis (Oct 01 2019 at 17:36, on Zulip):

but I think people should feel free to nominate things for "on-deck"

nikomatsakis (Oct 01 2019 at 17:37, on Zulip):

during week

nikomatsakis (Oct 01 2019 at 17:37, on Zulip):

ok, thanks all! :heart:

Giles Cope (Oct 01 2019 at 17:38, on Zulip):

Ah yes I see - all our tags are purple.

Last update: Nov 18 2019 at 00:45UTC