Stream: wg-async-foundations

Topic: weekly meeting 2019.06.11


nikomatsakis (Jun 11 2019 at 16:35, on Zulip):

Hey @WG-async-foundations =) quick sync?

Taylor Cramer (Jun 11 2019 at 16:36, on Zulip):

25 min from now, right?

nikomatsakis (Jun 11 2019 at 16:37, on Zulip):

omg

nikomatsakis (Jun 11 2019 at 16:37, on Zulip):

I am all confused :)

nikomatsakis (Jun 11 2019 at 16:37, on Zulip):

now it all makes more sense

nikomatsakis (Jun 11 2019 at 16:37, on Zulip):

...yes...in 25 minutes :)

nikomatsakis (Jun 11 2019 at 17:02, on Zulip):

OK, ping @WG-async-foundations -- sync meeting?

nikomatsakis (Jun 11 2019 at 17:05, on Zulip):

Let's start by looking over the uncategorized issues

nikomatsakis (Jun 11 2019 at 17:05, on Zulip):

(also, I'm creating a file with a meeting template)

nikomatsakis (Jun 11 2019 at 17:05, on Zulip):

"Broken MIR" ICE when using runtime crate #61731

nikomatsakis (Jun 11 2019 at 17:06, on Zulip):

(oh, await is syntax-highlighted now...)

nikomatsakis (Jun 11 2019 at 17:06, on Zulip):

the workaround is somewhat suggestive:

let _ = runtime::spawn(...);

nikomatsakis (Jun 11 2019 at 17:06, on Zulip):

seems like a .. problem?

Nemo157 (Jun 11 2019 at 17:07, on Zulip):

Zoxc put more details in https://github.com/rust-lang/rust/issues/61579

Yoshua Wuyts (Jun 11 2019 at 17:08, on Zulip):

It stands out to me that runtime::spawn returns a future that is not being awaited

nikomatsakis (Jun 11 2019 at 17:08, on Zulip):

ok, should we close it as a dup of that?

nikomatsakis (Jun 11 2019 at 17:08, on Zulip):

I guess it's not necessarily a dup

nikomatsakis (Jun 11 2019 at 17:08, on Zulip):

Not sure if @tmandry is here -- it looks like maybe they were doing some investigation?

nikomatsakis (Jun 11 2019 at 17:09, on Zulip):

These feel like potentially blocking problems to me

centril (Jun 11 2019 at 17:09, on Zulip):

since the async/await test suite is rather anemic I'd prefer to not close as a dup and add both as tests

nikomatsakis (Jun 11 2019 at 17:09, on Zulip):

certainly #61579 seems quite easy to stumble over..?

nikomatsakis (Jun 11 2019 at 17:09, on Zulip):

it seems like the ingredient is perhaps just "implicitly dropping" a result value that needs drop?

centril (Jun 11 2019 at 17:09, on Zulip):

Yes I think both are blocking

Nemo157 (Jun 11 2019 at 17:10, on Zulip):

I think it is a dup, any value with Drop that isn’t bound to a local variable and might live over an await causes it

centril (Jun 11 2019 at 17:10, on Zulip):

@Nemo157 perhaps; we will find out once the issue is fixed :slight_smile: and then both can be added as tests

nikomatsakis (Jun 11 2019 at 17:11, on Zulip):

OK, let's mark as blocking and move on

centril (Jun 11 2019 at 17:11, on Zulip):

I did :slight_smile:

nikomatsakis (Jun 11 2019 at 17:11, on Zulip):

Rustc paniced when apply .await on a closure in a non-async function #61685

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

ICE: " ItemLocalIds not assigned densely in ::main[0]. "

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

man I hate that ICE

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

seems like @davidtwco or @Taylor Cramer might be good for this -- as the ones most familiar with the desugaring details?

davidtwco (Jun 11 2019 at 17:12, on Zulip):

I’d be happy to take a look.

centril (Jun 11 2019 at 17:12, on Zulip):

imo also blocking (and concerning that there isn't anything in the test suite that checked for this)

nikomatsakis (Jun 11 2019 at 17:14, on Zulip):

OK, should we review blocking issues?

nikomatsakis (Jun 11 2019 at 17:15, on Zulip):

we have a bunch unassigned; I was supposed to spend some time with @davidtwco on the "out of range" ICE (I'll open a topic, let's schedule that for this week)

Taylor Cramer (Jun 11 2019 at 17:15, on Zulip):

https://github.com/rust-lang/rust/pull/61572 looks like it might be a fix to the broken MIR issues?

nikomatsakis (Jun 11 2019 at 17:16, on Zulip):

Ah, nice :) cc @Aaron Hill -- are you able to test that PR against #61579 (and maybe #61731)?

nikomatsakis (Jun 11 2019 at 17:17, on Zulip):

I know @Igor Matuszewski mentioned to me that they were working on #61072 (RLS integration)

nikomatsakis (Jun 11 2019 at 17:18, on Zulip):

I'm not sure if we have more to say here -- do we want to try and find assignees?

centril (Jun 11 2019 at 17:18, on Zulip):

@nikomatsakis on the topic of that PR... I really dislike that we drop a bunch of issue-\d+.rs in the middle of run-pass/ instead of ui/<appropriate_folder>/<appropriate_name-issue-\d+>.rs...

centril (Jun 11 2019 at 17:19, on Zulip):

e.g. this should be located with the other generator tests and whatnot

nikomatsakis (Jun 11 2019 at 17:19, on Zulip):

yeah, I always find that annoying

nikomatsakis (Jun 11 2019 at 17:20, on Zulip):

I tend to prefer issue-123.rs for the test file that is basically just a very specific, weird regression test only; if you can better summarize the scenario, I think we should do so

nikomatsakis (Jun 11 2019 at 17:20, on Zulip):

I was thinking maybe @centril we could brainstorm a bit about the test suite -- I don't think we have a tracking issue, do we? i.e., what sort of tests we might want? (We could do it in a separate topic)

nikomatsakis (Jun 11 2019 at 17:20, on Zulip):

I know we had a Test coverage topic

centril (Jun 11 2019 at 17:21, on Zulip):

I'm sad to say I haven't managed to do that

centril (Jun 11 2019 at 17:22, on Zulip):

@nikomatsakis I think we would want to think about async fn, async { .. }, await as they interact with various language areas

nikomatsakis (Jun 11 2019 at 17:22, on Zulip):

That said, I was looking at the list of unclear issues and I feel like maybe we should decide whether these are blocking or not

centril (Jun 11 2019 at 17:22, on Zulip):

and then we try to see whether a) those are already tested; b) add tests otherwise

nikomatsakis (Jun 11 2019 at 17:22, on Zulip):

in reverse order:

async/await unresolved type parameter in generator error shouldn't refer to yield #60615

@Taylor Cramer is this fixed?

centril (Jun 11 2019 at 17:22, on Zulip):

and do some input space partitioning and whatnot

nikomatsakis (Jun 11 2019 at 17:24, on Zulip):

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

is this the issue that @davidtwco you pinged me about some time back?

davidtwco (Jun 11 2019 at 17:24, on Zulip):

I don't believe so.

davidtwco (Jun 11 2019 at 17:25, on Zulip):

I've been pinging you about #54326, in this topic.

davidtwco (Jun 11 2019 at 17:25, on Zulip):

But that is linked from that issue, so yeah, I suppose it is.

nikomatsakis (Jun 11 2019 at 17:26, on Zulip):

Ah, ok, I think those two are related.

nikomatsakis (Jun 11 2019 at 17:26, on Zulip):

Do we feel like they are blocking? I kind of don't think so.

nikomatsakis (Jun 11 2019 at 17:26, on Zulip):

I'm trying to put my finger on why.

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

I guess it comes down to that they don't scare me in any sort of future compat sense, and don't seem like things that will hit a ton of users

centril (Jun 11 2019 at 17:27, on Zulip):

I think diagnostics issues if they are not severe can be deferred

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

Using associated types in async fn type break typing #60414

this issue seems unrelated to async fn

nikomatsakis (Jun 11 2019 at 17:28, on Zulip):

I think diagnostics issues if they are not severe can be deferred

ok, I'm inclined to agree, I think I will mark as deferred for now.

centril (Jun 11 2019 at 17:28, on Zulip):

but e.g. #60424 is not a diagnostics issue

nikomatsakis (Jun 11 2019 at 17:29, on Zulip):

it is

nikomatsakis (Jun 11 2019 at 17:29, on Zulip):

well, it's not

nikomatsakis (Jun 11 2019 at 17:29, on Zulip):

I take that back :)

nikomatsakis (Jun 11 2019 at 17:29, on Zulip):

Yeah, it's not, I was musing about whether there is a forwards compat concern here

nikomatsakis (Jun 11 2019 at 17:29, on Zulip):

In general, we've definitely taken steps to improve our expected type hinting in the past

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

(which is what is going on)

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

@nikomatsakis possibly not future compat but it does feel like a "quality" issue?

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

like something one would easily hit and which should compile

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

indeed, I'm trying to decide how to weigh this sort of thing against ICEs and other similar issues. Strictly speaking ICEs carry less risk :)

nikomatsakis (Jun 11 2019 at 17:31, on Zulip):

I guess it really just comes down to how common the example pattern would be, right

centril (Jun 11 2019 at 17:31, on Zulip):

@nikomatsakis I think you don't have to weigh it against ICEs in terms of blocking/deferred

centril (Jun 11 2019 at 17:32, on Zulip):

i.e. make an individual judgement about the issue wrt. blocking/deferred and then prioritize the various blocking issues

centril (Jun 11 2019 at 17:33, on Zulip):

imo for async fn test1() -> Box<dyn Debug> { Box::new("asdf") } not to work seems like a common thing not working

nikomatsakis (Jun 11 2019 at 17:34, on Zulip):

Yeah, I think you are correct.

centril (Jun 11 2019 at 17:35, on Zulip):

I'll move it back to -unclear for now

centril (Jun 11 2019 at 17:35, on Zulip):

since well... it seems unclear?

nikomatsakis (Jun 11 2019 at 17:35, on Zulip):

I would move it to blocking

centril (Jun 11 2019 at 17:35, on Zulip):

or that :slight_smile:

nikomatsakis (Jun 11 2019 at 17:35, on Zulip):

if we think it blocks

nikomatsakis (Jun 11 2019 at 17:35, on Zulip):

(we can always make a decision to change that later)

nikomatsakis (Jun 11 2019 at 17:36, on Zulip):

ok, so, the 30 min is up, this was just triage today, but that's ok. I think we have a plan this week to discuss the overall status in our lang team meeting?

centril (Jun 11 2019 at 17:36, on Zulip):

yep

centril (Jun 11 2019 at 17:37, on Zulip):

I think it would perhaps be good if t-compiler dropped more things in favor of async/await

nikomatsakis (Jun 11 2019 at 17:39, on Zulip):

Not clear, regressions are also a big problem right now. But I do think if we really want to fix these blockers, we're going to need some more focus.

centril (Jun 11 2019 at 17:40, on Zulip):

Or you know... ship later :slight_smile:

nikomatsakis (Jun 11 2019 at 17:41, on Zulip):

Right.

davidtwco (Jun 11 2019 at 17:45, on Zulip):

we have a bunch unassigned; I was supposed to spend some time with davidtwco on the "out of range" ICE (I'll open a topic, let's schedule that for this week)

@nikomatsakis let me know when works for you, my schedule is pretty free on Thurs/Fri.

nikomatsakis (Jun 11 2019 at 17:57, on Zulip):

PS, I updated https://github.com/rust-lang/compiler-team/blob/master/working-groups/async-await/README.md

Florian Gilcher (Jun 11 2019 at 19:24, on Zulip):

Sorry, I was sick today

Last update: Nov 18 2019 at 00:40UTC