Stream: wg-async-foundations

Topic: meeting 2019.03.05


nikomatsakis (Mar 05 2019 at 18:03, on Zulip):

Hey all =) so yeah I was hoping to spend a bit of time talking out async-await impl stuff.

nikomatsakis (Mar 05 2019 at 18:03, on Zulip):

cc @Giles Cope :)

nikomatsakis (Mar 05 2019 at 18:04, on Zulip):

cc @Taylor Cramer -- around by any chance?

nikomatsakis (Mar 05 2019 at 18:04, on Zulip):

cc @davidtwco -- you had expressed an interest here I know

nikomatsakis (Mar 05 2019 at 18:04, on Zulip):

I didn't get as far as I wanted in doing the triage work before this meeting, despite scheduling what seemed like plenty of time for it :(

nikomatsakis (Mar 05 2019 at 18:04, on Zulip):

I guess that too can be a work item :)

centril (Mar 05 2019 at 18:04, on Zulip):

/me is in the background

nikomatsakis (Mar 05 2019 at 18:05, on Zulip):

That said, I was starting to tag issues with AsyncAwait-Blocking

nikomatsakis (Mar 05 2019 at 18:05, on Zulip):

I had hoped to leave more impl notes :)

nikomatsakis (Mar 05 2019 at 18:06, on Zulip):

A number of them fall into a kind of "needs investigation" camp, though we don't really have a way to tag that with labels

centril (Mar 05 2019 at 18:06, on Zulip):

(The syntax issue should be on the blocking list)

davidtwco (Mar 05 2019 at 18:07, on Zulip):

I'm hoping to get a start on one of these issues after I finish a RLS 2.0 issue started yesterday.

nikomatsakis (Mar 05 2019 at 18:08, on Zulip):

I think two issues that would be good to try and work on would be

nikomatsakis (Mar 05 2019 at 18:09, on Zulip):

the "drop order issue" (https://github.com/rust-lang/rust/issues/54716) and the "size of futures" issue

nikomatsakis (Mar 05 2019 at 18:09, on Zulip):

trying to figure out which issue # corresponds to the second one :)

Santiago Pastorino (Mar 05 2019 at 18:10, on Zulip):

second one doesn't seem to be on the list

Santiago Pastorino (Mar 05 2019 at 18:10, on Zulip):

I meant, tagged

nikomatsakis (Mar 05 2019 at 18:10, on Zulip):

oh, right, I tagged it as "unclear"

nikomatsakis (Mar 05 2019 at 18:10, on Zulip):

but actually I think it should be considered blocking, at least for the time being

nikomatsakis (Mar 05 2019 at 18:11, on Zulip):

in particular, I've been taking a semi-expansive view of blocking -- basically blocking means "blocks us encouraging widespread adoption"

davidtwco (Mar 05 2019 at 18:11, on Zulip):

Does anyone mind if I assign myself to #54716 to look into tackling later today/tomorrow?

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

@davidtwco +1

nikomatsakis (Mar 05 2019 at 18:25, on Zulip):

OK, so I just moved the conversation around #52924 to this topic here

nikomatsakis (Mar 05 2019 at 18:25, on Zulip):

@tmandry was saying that they are potentially interested

nikomatsakis (Mar 05 2019 at 18:25, on Zulip):

but they won't know for sure until a bit later

tmandry (Mar 05 2019 at 18:26, on Zulip):

in the meantime if someone is sure they want to tackle it, feel free to claim

nikomatsakis (Mar 05 2019 at 18:26, on Zulip):

I'm going to go ahead and assign myself to async/await: “the requirement for<'r> 'r : 'static is not satisfied” with 'static across await point #53548 , which is mostly a "needs investigation" sort of issue

Giles Cope (Mar 05 2019 at 18:27, on Zulip):

I know very little so I'm best off picking off small things.

nikomatsakis (Mar 05 2019 at 18:28, on Zulip):

I'm looking over the list of uncategorized issues

nikomatsakis (Mar 05 2019 at 18:28, on Zulip):

I think that the remaining blocking issues are mostly having to do with the lifetime issues -- @Taylor Cramer had expressed a desire to work on that, but I'm not sure

nikomatsakis (Mar 05 2019 at 18:28, on Zulip):

@Giles Cope I'm keeping my eye out to see if there are some good "intro" issues

nikomatsakis (Mar 05 2019 at 18:28, on Zulip):

it might of course be that some of the "investigation" issues turn into those

Giles Cope (Mar 05 2019 at 18:29, on Zulip):

If there's any boring drudgery I'm happy to take some of that off your hands :-)

Taylor Cramer (Mar 05 2019 at 18:33, on Zulip):

@nikomatsakis

Taylor Cramer (Mar 05 2019 at 18:33, on Zulip):

Yep, it was my plan to work on the lifetime issues in the second half of this week.

Giles Cope (Mar 05 2019 at 18:34, on Zulip):

I can have a look at https://github.com/rust-lang/rust/issues/58930 , that might be a good way in?

nikomatsakis (Mar 05 2019 at 18:34, on Zulip):

OK, @Taylor Cramer, I'm assigning you to the issues that I believe to be "duplicates" of that

nikomatsakis (Mar 05 2019 at 18:36, on Zulip):

@Giles Cope one idea might be to try and bisect https://github.com/rust-lang/rust/issues/58945

nikomatsakis (Mar 05 2019 at 18:36, on Zulip):

Oh, hmm, maybe that'll be a bit tricky to do

Giles Cope (Mar 05 2019 at 18:37, on Zulip):

certainly can give it a crack

Taylor Cramer (Mar 05 2019 at 18:37, on Zulip):

the "type inside this generator must be known" errors are in fact incredibly annoying

Taylor Cramer (Mar 05 2019 at 18:37, on Zulip):

and very hard on newcomers

Taylor Cramer (Mar 05 2019 at 18:38, on Zulip):

usually it's something silly like the compiler not being able to infer the type of an integer local or the error variant of a Result enum

Taylor Cramer (Mar 05 2019 at 18:39, on Zulip):

that's one where my advice is nearly always "show me the code and I'll send you the edits" which is not my preferred method of teaching XD

nikomatsakis (Mar 05 2019 at 18:39, on Zulip):

hmm ok

nikomatsakis (Mar 05 2019 at 18:39, on Zulip):

sorry, I'm kind of still doing a bit of triage, I should at least leave a log of my notes

nikomatsakis (Mar 05 2019 at 18:40, on Zulip):

Marked ICE unexpected type in type_metadata: impl core::future::future::Future #58888 as blocking but it has a pending fix

nikomatsakis (Mar 05 2019 at 18:41, on Zulip):

It seems like internal compiler error: Trying to create type name for unexpected type [debuginfo] #58945 should be blocking

nikomatsakis (Mar 05 2019 at 18:41, on Zulip):

but it also seems like it may be the same bug?

nikomatsakis (Mar 05 2019 at 18:41, on Zulip):

@Giles Cope I think a useful thing -- since we can't bisect that bug -- would be to try and reproduce it

nikomatsakis (Mar 05 2019 at 18:41, on Zulip):

if you are able to do that, it'd be awesome

Taylor Cramer (Mar 05 2019 at 18:42, on Zulip):

I thought I saw a debuginfo-related change to generators in the PR queue this week

nikomatsakis (Mar 05 2019 at 18:42, on Zulip):

presuming that @Wim's fix doesn't fix it (at least I think @Wim is nemo157)

nikomatsakis (Mar 05 2019 at 18:42, on Zulip):

I thought I saw a debuginfo-related change to generators in the PR queue this week

Yes, that's the "pending fix" I mentioned

Taylor Cramer (Mar 05 2019 at 18:42, on Zulip):

yeah, this one: https://github.com/rust-lang/rust/pull/58906

nikomatsakis (Mar 05 2019 at 18:42, on Zulip):

right

nikomatsakis (Mar 05 2019 at 18:43, on Zulip):

So, @Taylor Cramer, regarding this one

async/await produces unspecific "type inside generator must be known in this context" error messages #58930

nikomatsakis (Mar 05 2019 at 18:43, on Zulip):

sounds like this could be considered a blocking diagnostic problem?

nikomatsakis (Mar 05 2019 at 18:43, on Zulip):

I have a vague hunch what's going on.

nikomatsakis (Mar 05 2019 at 18:43, on Zulip):

Though I'm not totally sure how to go about fixing it

Taylor Cramer (Mar 05 2019 at 18:44, on Zulip):

I think the blocking issue is mostly that the span for the error message seems drastically wrong

Taylor Cramer (Mar 05 2019 at 18:45, on Zulip):

in that it doesn't point at the actual variable whose type is failing to be inferred

Giles Cope (Mar 05 2019 at 18:45, on Zulip):

The span is too broad or pointing elsewhere?

Taylor Cramer (Mar 05 2019 at 18:46, on Zulip):

I'm trying to remember, but I feel like it points at either the yield or the generator block as a whole

Taylor Cramer (Mar 05 2019 at 18:47, on Zulip):

rather than the specific local

Santiago Pastorino (Mar 05 2019 at 18:47, on Zulip):

@nikomatsakis if you consider that I could help in some issue just assign me :)

Taylor Cramer (Mar 05 2019 at 18:47, on Zulip):

I'd need to go back and check. In any case, seems like it's a blocker at least in terms of some medium amount of investigation.

nikomatsakis (Mar 05 2019 at 18:50, on Zulip):

Right, so, in the particular case, the problem is that the type parameter F is unspecified

nikomatsakis (Mar 05 2019 at 18:50, on Zulip):

But the error message doesn't help at all in clarifying that

nikomatsakis (Mar 05 2019 at 18:53, on Zulip):

@Giles Cope ok, what the heck, I'll assign you to https://github.com/rust-lang/rust/issues/58930 -- I think that a reasonable first step would be to kind of step through the compiler and dump out (for example) the backtrace when that error occurs and things. You can do that via -Ztreat-err-as-bug and RUST_BACKTRACE=1. I think I'd feel better if we had a good "mentor" to work with you on it in terms of answering questions. I'd volunteer but my time is fairly scarce right now.

Giles Cope (Mar 05 2019 at 18:54, on Zulip):

Great - great diagnostics always pay off. I'll ask around if I get stuck.

nikomatsakis (Mar 05 2019 at 18:54, on Zulip):

@Giles Cope what's your github name?

Giles Cope (Mar 05 2019 at 18:55, on Zulip):

@gilescope :-)

nikomatsakis (Mar 05 2019 at 18:56, on Zulip):

@Giles Cope you have a pending invitation

Giles Cope (Mar 05 2019 at 18:58, on Zulip):

404? :-(

nikomatsakis (Mar 05 2019 at 18:58, on Zulip):

(if you accept it, I can actually assign you to the issue)

nikomatsakis (Mar 05 2019 at 18:58, on Zulip):

Oh, maybe that link doesn't work

nikomatsakis (Mar 05 2019 at 18:58, on Zulip):

well you should still have a pending invitation, maybe check your e-mail

Giles Cope (Mar 05 2019 at 19:00, on Zulip):

thank you. it's an honor!

nikomatsakis (Mar 05 2019 at 19:02, on Zulip):

OK, well, time's up, and we've categorized all the things.

Giles Cope (Mar 05 2019 at 19:02, on Zulip):

thanks for organizing niko!

nikomatsakis (Mar 05 2019 at 19:02, on Zulip):

There are some unassigned things in the blocking list, but they are mostly things that are either "needs investigation", maybe have a pending fix, or are effectively blocked on the syntax question

nikomatsakis (Mar 05 2019 at 19:03, on Zulip):

so I think we're looking pretty good for this week

nikomatsakis (Mar 05 2019 at 19:03, on Zulip):

Question: should we make this a regular meeting?

nikomatsakis (Mar 05 2019 at 19:03, on Zulip):

Maybe we can convert to 30min and repeat next week?

nikomatsakis (Mar 05 2019 at 19:03, on Zulip):

To check in on status, update things

nikomatsakis (Mar 05 2019 at 19:04, on Zulip):

"what the heck, I'll do it"

Giles Cope (Mar 05 2019 at 19:04, on Zulip):

Halve the meeting time each week until we run out of time ;-)

davidtwco (Mar 05 2019 at 19:04, on Zulip):

That would be fine with me.

davidtwco (Mar 05 2019 at 19:04, on Zulip):

(a weekly check-in meeting, not the meeting running out of time each week)

nikomatsakis (Mar 05 2019 at 19:05, on Zulip):

Also, I created a @wg-async-await user group and put on all the names of people I saw in this meeting

nikomatsakis (Mar 05 2019 at 19:05, on Zulip):

let me or @davidtwco know if you'd like to be added

davidtwco (Mar 05 2019 at 19:06, on Zulip):

I think people might be able to add themselves.

nikomatsakis (Mar 05 2019 at 19:07, on Zulip):

Oh really?

nikomatsakis (Mar 05 2019 at 19:07, on Zulip):

That'd be nic

nikomatsakis (Mar 05 2019 at 19:07, on Zulip):

OK I created the event, although I'm not sure I love the time, but it'll do for now.

davidtwco (Mar 05 2019 at 19:07, on Zulip):

See this conversation.

nikomatsakis (Mar 05 2019 at 19:07, on Zulip):

very cool

Last update: Nov 18 2019 at 00:55UTC