Stream: wg-async-foundations

Topic: weekly meeting 2019.04.30


nikomatsakis (Apr 30 2019 at 17:06, on Zulip):

Hey @WG-async-await -- sync time?

Taylor Cramer (Apr 30 2019 at 17:06, on Zulip):

Sure!

Taylor Cramer (Apr 30 2019 at 17:06, on Zulip):

@tmandry and I are in an all-hands at work but I've got my computer :)

nikomatsakis (Apr 30 2019 at 17:06, on Zulip):

Ah, ok :)

Giles Cope (Apr 30 2019 at 17:07, on Zulip):

Cool I think the one I was working on is now _finally_ done and dusted :-)

nikomatsakis (Apr 30 2019 at 17:07, on Zulip):

I can try to drive I guess

Taylor Cramer (Apr 30 2019 at 17:07, on Zulip):

I've got i!

Taylor Cramer (Apr 30 2019 at 17:07, on Zulip):

So we got some new issues this time around

Taylor Cramer (Apr 30 2019 at 17:08, on Zulip):

https://github.com/rust-lang/rust/issues/60414 came up

Taylor Cramer (Apr 30 2019 at 17:08, on Zulip):

but it seems like it isn't async/await specific

Taylor Cramer (Apr 30 2019 at 17:08, on Zulip):

(i.e. it also happens with impl Trait)

Taylor Cramer (Apr 30 2019 at 17:08, on Zulip):

I'd be inclined to not list it as a blocker, but if someone has immediate ideas about what might be going on (some sort of unification issue?) then it'd be great to have a fix

Taylor Cramer (Apr 30 2019 at 17:09, on Zulip):

I also opened a PR to error on non-explicit elided lifetimes in paths in async fn: https://github.com/rust-lang/rust/pull/60388

Taylor Cramer (Apr 30 2019 at 17:09, on Zulip):

@nikomatsakis, I tagged you for review on that-- let me know if I should re-assign if you don't have time

nikomatsakis (Apr 30 2019 at 17:09, on Zulip):

but it seems like it isn't async/await specific

yeah; looks like some kind of missing normalization

nikomatsakis (Apr 30 2019 at 17:09, on Zulip):

nikomatsakis, I tagged you for review on that-- let me know if I should re-assign if you don't have time

I can do it I think

centril (Apr 30 2019 at 17:10, on Zulip):

I think of this (https://github.com/rust-lang/rust/issues/60414) not as a blocker for user experience, but rather as a "I want confidence in the implementation"

Taylor Cramer (Apr 30 2019 at 17:10, on Zulip):

Great! :)

Taylor Cramer (Apr 30 2019 at 17:10, on Zulip):

@centril sorry, can you say which issue you're referring to?

Taylor Cramer (Apr 30 2019 at 17:10, on Zulip):

ah, thanks

centril (Apr 30 2019 at 17:10, on Zulip):

(sorry, zulip is laggy)

Taylor Cramer (Apr 30 2019 at 17:10, on Zulip):

@centril You mean you want confidence in the implementation of impl Trait?

centril (Apr 30 2019 at 17:11, on Zulip):

@Taylor Cramer more like "the backing implementation for async / await"

Taylor Cramer (Apr 30 2019 at 17:11, on Zulip):

huh, okay

nikomatsakis (Apr 30 2019 at 17:11, on Zulip):

I may be able to spend some time investigating #60414. I need to schedule my time tomorrow. I plan to use it primarily to catch up on P-high regressions.

centril (Apr 30 2019 at 17:11, on Zulip):

which I suppose is the same practically?

nikomatsakis (Apr 30 2019 at 17:11, on Zulip):

I'd be game to be assigned anyway and we can re-evaluate next week

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

Great, assigning you

centril (Apr 30 2019 at 17:12, on Zulip):

@Taylor Cramer on the other hand, I had not seen your new comment

centril (Apr 30 2019 at 17:12, on Zulip):

which makes me think that it might not be a blocker after all

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

but... getting on top of it seems like a good thing in any case for the benefit of better impl Trait

Taylor Cramer (Apr 30 2019 at 17:13, on Zulip):

Yup! :)

centril (Apr 30 2019 at 17:14, on Zulip):

@Taylor Cramer https://github.com/rust-lang/rust/issues/57017 seems incorrectly labeled?

centril (Apr 30 2019 at 17:14, on Zulip):

both deferred and unclear?

centril (Apr 30 2019 at 17:15, on Zulip):

I assume unclear should be removed?

nikomatsakis (Apr 30 2019 at 17:16, on Zulip):

I think I labeled it bothways

nikomatsakis (Apr 30 2019 at 17:16, on Zulip):

beacuse I wanted to revisit it :)

nikomatsakis (Apr 30 2019 at 17:16, on Zulip):

but I guess I don't believe it's blocking

nikomatsakis (Apr 30 2019 at 17:16, on Zulip):

I just think it'd be great to do some sort of fix

nikomatsakis (Apr 30 2019 at 17:16, on Zulip):

(I dont' expect a complete fix, I mean something targeted to "do better")

centril (Apr 30 2019 at 17:17, on Zulip):

@nikomatsakis OK; maybe leave a fuller rationale as to why you think so (which we hopefully will use for the report later...)?

centril (Apr 30 2019 at 17:17, on Zulip):

(like "here are all the deferred issues, and here's why they are deferred")

nikomatsakis (Apr 30 2019 at 17:18, on Zulip):

Seems good

davidtwco (Apr 30 2019 at 17:18, on Zulip):

I had looked at that issue a little when trying to find some new issues to work on but it wasn’t clear to me if we wanted to do the larger change that you elude to (removing the over-approximation) or just a smaller change of some sort that fixes this case.

nikomatsakis (Apr 30 2019 at 17:18, on Zulip):

I think I expect something in between :)

nikomatsakis (Apr 30 2019 at 17:18, on Zulip):

But I don't know precisely what

nikomatsakis (Apr 30 2019 at 17:18, on Zulip):

I have an "intuition", I can try to elaborate a bit on thread

centril (Apr 30 2019 at 17:19, on Zulip):

@nikomatsakis https://en.wikipedia.org/wiki/Lagom :D

nikomatsakis (Apr 30 2019 at 17:19, on Zulip):

ICE: Type parameter W/#1 out of range when substituting #55872

This seems like a new issue

nikomatsakis (Apr 30 2019 at 17:20, on Zulip):

looks a bit worrisome to me

nikomatsakis (Apr 30 2019 at 17:20, on Zulip):

i.e., that suggests we're doing a substitution some place we shouldn't, or something

Giles Cope (Apr 30 2019 at 17:21, on Zulip):

We might have already fixed it? Do we know if it's reproducible?

centril (Apr 30 2019 at 17:22, on Zulip):

I have to run to dinner... Some notes:
- https://github.com/rust-lang/rust/issues/60418 is about organization of tests for the purposes of "spec" and for the report; should be blocking I think. (also not super hard to fix and @Taylor Cramer is already assigned)
- https://github.com/rust-lang/rust/issues/60236 -- I think we can feature gate (=> not blocking) or fix (=> blocking), either is fine by me.

nikomatsakis (Apr 30 2019 at 17:23, on Zulip):

We might have already fixed it? Do we know if it's reproducible?

oh, is it not reproducible?

Taylor Cramer (Apr 30 2019 at 17:23, on Zulip):

I'm not sure why would block on the structure of UI tests

Taylor Cramer (Apr 30 2019 at 17:23, on Zulip):

(where structure == "what folder they're in")

Taylor Cramer (Apr 30 2019 at 17:23, on Zulip):

but anyways, that won't be hard to fix

nikomatsakis (Apr 30 2019 at 17:23, on Zulip):

it doesn't seem blocking, but it also seems easy enough to do :)

Taylor Cramer (Apr 30 2019 at 17:24, on Zulip):

yup yup

nikomatsakis (Apr 30 2019 at 17:24, on Zulip):

re: #60236, the drop order, I guess I can't think of why this wouldn't be blocking, really. I feel like what's needed here is probably to spend a bit of time exporing how the normal fn drop order comes to be

davidtwco (Apr 30 2019 at 17:24, on Zulip):

I’ve done a little digging at the weekend into the remaining drop order issue, I have some ideas about how I’d fix it. Whether it’s how we’d like it fix is another thing entirely. I just haven’t had time to sit down and try to fix it yet.

nikomatsakis (Apr 30 2019 at 17:24, on Zulip):

and then looking at how we can reproduce that

nikomatsakis (Apr 30 2019 at 17:24, on Zulip):

the only reason I can see not to fix it is basically to say "yeah the fn drop order is messed up, and we'd prefer a simple desugaring". I find this...not all that persuasive. =)

nikomatsakis (Apr 30 2019 at 17:25, on Zulip):

(even though I would prefer a simple desugaring)

Giles Cope (Apr 30 2019 at 17:26, on Zulip):

We might have already fixed it? Do we know if it's reproducible?

oh, is it not reproducible?

it was raised in Nov, so we might have fixed it while fixing something else...

Giles Cope (Apr 30 2019 at 17:26, on Zulip):

maybe I'm just an optimist...?

nikomatsakis (Apr 30 2019 at 17:27, on Zulip):

@Giles Cope plausible =) we should test it

nikomatsakis (Apr 30 2019 at 17:28, on Zulip):

So, we're running a bit unstructured -- I guess the question is, who is looking for work and doesn't have it...

davidtwco (Apr 30 2019 at 17:29, on Zulip):

I don’t think the mismatch in drop order that is left is a result of the desugaring. You can reorder the statements and do all sorts of things but that doesn’t fix the case when the pattern is a tuple with an underscore binding without breaking the pattern up.

I was looking into how the closures got lowered to MIR and noticed locals for the underscore bindings weren’t being created where they were for the non-underscore case so was going to dig into that more. Not sure if that’s where this should be fixed, but it made sense to me at the time.

Giles Cope (Apr 30 2019 at 17:29, on Zulip):

I guess I'm a little light on the work front.

davidtwco (Apr 30 2019 at 17:30, on Zulip):

I’ve not got anything assigned to me but I’ve ended up looking into the drop order and the over-approximation a little bit over the last week.

nikomatsakis (Apr 30 2019 at 17:31, on Zulip):

I am looking over the blocking/unclear issues

nikomatsakis (Apr 30 2019 at 17:31, on Zulip):

the obvious one is the ove-approximation

nikomatsakis (Apr 30 2019 at 17:31, on Zulip):

basically the question there is whether to try and extend the existing HIR-based analysis or to try and "go for broke" and do something MIR based

nikomatsakis (Apr 30 2019 at 17:31, on Zulip):

I still don't quite see how the latter can work, but maybe I'm missing something

nikomatsakis (Apr 30 2019 at 17:32, on Zulip):

but I don't have a specific proposal for the former

nikomatsakis (Apr 30 2019 at 17:32, on Zulip):

but I'd be interested in talking it over :)

nikomatsakis (Apr 30 2019 at 17:33, on Zulip):

@Giles Cope can you try to reproduce #55872?

nikomatsakis (Apr 30 2019 at 17:33, on Zulip):

if indeed it still reproduces, I could give you some tips on how to fix it

Giles Cope (Apr 30 2019 at 17:34, on Zulip):

yep ok

davidtwco (Apr 30 2019 at 17:34, on Zulip):

I’m interested in working on the over-approximation if we can work out a preferred solution. But if someone else is eager then I’m happy for them to take it as I’ll probably also look into the drop order.

nikomatsakis (Apr 30 2019 at 17:34, on Zulip):

@davidtwco i'm going to send you a few msgs re: drop order in the other topic

nikomatsakis (Apr 30 2019 at 17:35, on Zulip):

I guess that's it for this week?

Giles Cope (Apr 30 2019 at 17:36, on Zulip):

Edging closer to stable. :-) Thanks Niko & TC for running the meeting

Giles Cope (Apr 30 2019 at 17:42, on Zulip):

it is reproducible still... will do some digging.

centril (Apr 30 2019 at 17:42, on Zulip):

I'm not sure why would block on the structure of UI tests

(The point is to facilitate the reviewing of the stabilization for all lang team members)

Last update: Nov 18 2019 at 01:30UTC