Stream: wg-async-foundations

Topic: meeting 2019.03.12


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

Hey @WG-async-await -- if you're around, let's do a quick check-in to note progress

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

At least I have that on my calendar :)

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

thought it was an hour later but possibly a daylight saving switchover :-)

nikomatsakis (Mar 12 2019 at 17:02, on Zulip):

thought it was an hour later but possibly a daylight saving switchover :-)

ah yeah it's weird for a few weeks

nikomatsakis (Mar 12 2019 at 17:02, on Zulip):

we generally tie our meetings to US time

Giles Cope (Mar 12 2019 at 17:02, on Zulip):

just one week I think

nikomatsakis (Mar 12 2019 at 17:02, on Zulip):

mostly because I have been making the meetings ;)

nikomatsakis (Mar 12 2019 at 17:03, on Zulip):

(but it was generally agreed the last time we discussed this that it was more convenient to tie to US time than to tie to UTC, since that involved everybody having meetings jumping around, whereas tying to US time is stable most of the year, at least)

nikomatsakis (Mar 12 2019 at 17:03, on Zulip):

Anyway...

nikomatsakis (Mar 12 2019 at 17:03, on Zulip):

So i'd like to check-in on how everyone is doing with what they are working on and also perhaps triage any 'unlabeled A-async-await isssues](https://github.com/rust-lang/rust/issues?utf8=%E2%9C%93&q=is%3Aopen+is%3Aissue+label%3AA-async-await+-label%3AAsyncAwait-Blocking+-label%3AAsyncAwait-Deferred) that have cropped up

nikomatsakis (Mar 12 2019 at 17:04, on Zulip):

I guess let's start with the check-ins

davidtwco (Mar 12 2019 at 17:04, on Zulip):

Approximately 26 minutes ago, I submitted #59135 that fixes the drop order issue. I anticipate there will be some changes requested, but it's working so there's that.

nikomatsakis (Mar 12 2019 at 17:05, on Zulip):

Awesome!

Taylor Cramer (Mar 12 2019 at 17:05, on Zulip):

The lowering changes for lifetimes are going fine for me, but I haven't had time to finish them yet. I'll update if I hit any issues.

nikomatsakis (Mar 12 2019 at 17:05, on Zulip):

(I realize I didn't keep a good write-up of the various things this week, I'll try to do better for next week -- i.e., I'd prefer to have a list we can walk down by item, but oh well)

nikomatsakis (Mar 12 2019 at 17:06, on Zulip):

I investigated #53548 and opened a PR (#59132) to fix it

nikomatsakis (Mar 12 2019 at 17:06, on Zulip):

I see @tmandry is looking into the shrinking generators (https://github.com/rust-lang/rust/issues/52924) issue over in this topic

nikomatsakis (Mar 12 2019 at 17:07, on Zulip):

@Giles Cope -- you were going to do some preliminary investigation into https://github.com/rust-lang/rust/issues/58930, looks like you opened a PR (https://github.com/rust-lang/rust/pull/59111)

Giles Cope (Mar 12 2019 at 17:07, on Zulip):

I opened a PR (#59111) for better error messages. Keen to get some eyes on it to see if that was what people were expecting.

Giles Cope (Mar 12 2019 at 17:08, on Zulip):

I potentially might need another task to be chewing on :-)

davidtwco (Mar 12 2019 at 17:08, on Zulip):

(FYI, I just edited the PR description so GitHub will automatically close the issue when it lands)

nikomatsakis (Mar 12 2019 at 17:09, on Zulip):

I opened a PR (#59111) for better error messages. Keen to get some eyes on it to see if that was what people were expecting.

I just left a few smallish comments, @Giles Cope, but this overall seems great.

nikomatsakis (Mar 12 2019 at 17:09, on Zulip):

I potentially might need another task to be chewing on :-)

OK good to know :)

nikomatsakis (Mar 12 2019 at 17:10, on Zulip):

I think that's everything from last week, so shall we check the untriaged issues?

davidtwco (Mar 12 2019 at 17:10, on Zulip):

I potentially might need another task to be chewing on :-)

Likewise.

nikomatsakis (Mar 12 2019 at 17:10, on Zulip):

# Generator size: borrowed variables are assumed live across following yield points #59087

nikomatsakis (Mar 12 2019 at 17:11, on Zulip):

Looks like @Taylor Cramer you closed this but re-opened it

nikomatsakis (Mar 12 2019 at 17:11, on Zulip):

I agree it is not a sub-issue of https://github.com/rust-lang/rust/issues/52924

nikomatsakis (Mar 12 2019 at 17:11, on Zulip):

I guess we have to decide how to prioritize this

nikomatsakis (Mar 12 2019 at 17:12, on Zulip):

I am inclined to treat it as a blocking issue for now -- or at least something we should be aiming to fix -- but it seems like we have to discuss with @Zoxc and try to decide if we think we can handle this by making the current approach smarter (what I was previously inclined to do) or by relying on MIR lowering for perfect results (what @Zoxc was inclined to do).

nikomatsakis (Mar 12 2019 at 17:12, on Zulip):

but it does seem like, when it strikes, it is quite surprising..?

Taylor Cramer (Mar 12 2019 at 17:12, on Zulip):

I'm not sure what it would mean to make this a blocking issue

Taylor Cramer (Mar 12 2019 at 17:12, on Zulip):

because in general, it's not solvable

Taylor Cramer (Mar 12 2019 at 17:13, on Zulip):

there're specific cases we can prevent when we can see there are no ref-to-ptr conversions or when the type is !Copy

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

It would mean we should try to do something on it before stabilization. I agree it may not be solvable in general, but I think we could make the current analysis far more precise at minimum.

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

No, it has nothing to do with either of those things.

Taylor Cramer (Mar 12 2019 at 17:13, on Zulip):

Oh?

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

Well, i'm not sure if that's true

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

Maybe I'm wrong

Taylor Cramer (Mar 12 2019 at 17:14, on Zulip):

I mean, move elision in general has those two problems, right?

nikomatsakis (Mar 12 2019 at 17:14, on Zulip):

but I think we should be able to be more precise in some cases at least

nikomatsakis (Mar 12 2019 at 17:15, on Zulip):

OK, this is not the issue I was thinking of

nikomatsakis (Mar 12 2019 at 17:15, on Zulip):

(but it is very similar to it)

nikomatsakis (Mar 12 2019 at 17:15, on Zulip):

in particular there was an issue involving "temporary borrows" iirc

Taylor Cramer (Mar 12 2019 at 17:15, on Zulip):

Yup, different issue.

nikomatsakis (Mar 12 2019 at 17:16, on Zulip):

ok I think this should be marked as "not blocking" then

nikomatsakis (Mar 12 2019 at 17:16, on Zulip):

at least for now

nikomatsakis (Mar 12 2019 at 17:18, on Zulip):

(This also perhaps interacts with unsafe-code guidelines, in terms of us knowing when we can reclaim the underlying storage etc.)

nikomatsakis (Mar 12 2019 at 17:18, on Zulip):

OK, great

nikomatsakis (Mar 12 2019 at 17:18, on Zulip):

The next untriaged bug is

async: hidden type for impl Trait captures lifetime that does not appear in bounds #59001

nikomatsakis (Mar 12 2019 at 17:19, on Zulip):

@Taylor Cramer you've assigned this to yourself, I guess it's covered by the work you're already doing?

nikomatsakis (Mar 12 2019 at 17:20, on Zulip):

going to assume yes :)

nikomatsakis (Mar 12 2019 at 17:21, on Zulip):

OK let's take a look at the remaining blocking issues to start then and see if we can find @Giles Cope and @davidtwco some stuff to do :)

Giles Cope (Mar 12 2019 at 17:22, on Zulip):

I should be able to fix 51751

nikomatsakis (Mar 12 2019 at 17:22, on Zulip):

async/await errors should not discuss "yield statements" #51751

nikomatsakis (Mar 12 2019 at 17:22, on Zulip):

for reference :)

nikomatsakis (Mar 12 2019 at 17:23, on Zulip):

@Giles Cope I was going to suggest that as a good candidate; it seems like something we can address, even without a built-in syntax, though I'm not 100% sure what plan you had in mind

nikomatsakis (Mar 12 2019 at 17:23, on Zulip):

but we can discuss that outside of this meeting

nikomatsakis (Mar 12 2019 at 17:23, on Zulip):

internal compiler error: Trying to create type name for unexpected type [debuginfo] #58945

it looks like this has been fixed

nikomatsakis (Mar 12 2019 at 17:23, on Zulip):

so i'll close it

Giles Cope (Mar 12 2019 at 17:24, on Zulip):

57640 has a few comments on it...

Giles Cope (Mar 12 2019 at 17:25, on Zulip):

(sorry for mentioning the elephant in the room)

davidtwco (Mar 12 2019 at 17:25, on Zulip):

(ps: if you put a # in front of the number it'll link it)

nikomatsakis (Mar 12 2019 at 17:25, on Zulip):

That's not really the domain of this WG I don't think though, more like the lang-team, and we're working on that

Giles Cope (Mar 12 2019 at 17:25, on Zulip):

phew

nikomatsakis (Mar 12 2019 at 17:25, on Zulip):

(It's the "resolve async-await syntax")

nikomatsakis (Mar 12 2019 at 17:25, on Zulip):

But yeah good point :)

nikomatsakis (Mar 12 2019 at 17:25, on Zulip):

Mixing async functions and &mut leads to overflow evaluating requirement #55809

nikomatsakis (Mar 12 2019 at 17:25, on Zulip):

So there's this

nikomatsakis (Mar 12 2019 at 17:25, on Zulip):

this was one where I had planned to perhaps do some investigation

nikomatsakis (Mar 12 2019 at 17:26, on Zulip):

@davidtwco it might be an interetsing thing if you wanted to look at a bit different code, but I'm not sure

davidtwco (Mar 12 2019 at 17:26, on Zulip):

I'm happy to see if I can work something out for it.

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

that said, I also think this issue might be worth doing work on :

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

This is the issue I was thinking of earlier, @Taylor Cramer

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

it's currently marked as deferred, but it seems like something that comes up from time to time

davidtwco (Mar 12 2019 at 17:28, on Zulip):

Was this what you looked into at the end of the video call before?

nikomatsakis (Mar 12 2019 at 17:28, on Zulip):

I'm happy to see if I can work something out for it.

Let's start with #55809 then and see if can at least describe what is happening and decide if there is a fix or what

nikomatsakis (Mar 12 2019 at 17:28, on Zulip):

Was this what you looked into at the end of the video call before?

Yes

davidtwco (Mar 12 2019 at 17:28, on Zulip):

Let's start with #55809 then and see if can at least describe what is happening and decide if there is a fix or what

I've assigned myself.

nikomatsakis (Mar 12 2019 at 17:28, on Zulip):

Also, @Zoxc and discussed a bit in this topic but I haven't really had time to follow up with what they said and think much about it

nikomatsakis (Mar 12 2019 at 17:29, on Zulip):

OK, seems good. I don't have anything assigned to me right now but I can live with that. :P Maybe I'll try to put in a bit of time into #57017 in terms of deciding what to do, and @davidtwco if you want to discuss #55809 a bit I can help with that too

nikomatsakis (Mar 12 2019 at 17:29, on Zulip):

Then I say let's call it adjourned!

nikomatsakis (Mar 12 2019 at 17:29, on Zulip):

Thanks all :heart:

davidtwco (Mar 12 2019 at 17:31, on Zulip):

To summarise for next week's check-in:

That sound right?

nikomatsakis (Mar 12 2019 at 17:33, on Zulip):

lol, sounds perfect

nikomatsakis (Mar 12 2019 at 17:33, on Zulip):

@davidtwco want to push that to compiler-team repo as minutes? (along with a link to the Zulip topic for more details)

davidtwco (Mar 12 2019 at 17:33, on Zulip):

Sure thing.

Taylor Cramer (Mar 12 2019 at 17:35, on Zulip):

@davidtwco I'm continuing on all of the lifetime-in-async-fn-declaration-related issues

davidtwco (Mar 12 2019 at 17:42, on Zulip):

davidtwco want to push that to compiler-team repo as minutes? (along with a link to the Zulip topic for more details)

@nikomatsakis compiler-team#42

nikomatsakis (Mar 12 2019 at 17:43, on Zulip):

merged, thanks

Last update: Nov 18 2019 at 01:50UTC