Stream: wg-async-foundations

Topic: meeting 2019.09.17


nikomatsakis (Sep 17 2019 at 17:04, on Zulip):

Hey @WG-async-foundations -- meeting?

davidtwco (Sep 17 2019 at 17:05, on Zulip):

:wave:

centril (Sep 17 2019 at 17:05, on Zulip):

:wave:

nikomatsakis (Sep 17 2019 at 17:05, on Zulip):

So obviously I think we need to settle the temporary lifetimes question, but I also don't think we likely have quite right mix at this moment in this meeting. (I had thought about trying to get more lang team folks here for that, but didn't manage to "pull it off")

nikomatsakis (Sep 17 2019 at 17:06, on Zulip):

But let's look a bit at our triage list in any case

nikomatsakis (Sep 17 2019 at 17:06, on Zulip):

(Also, we could discuss towards the end a bit if we want, to see if we can find any new ground)

nikomatsakis (Sep 17 2019 at 17:07, on Zulip):

no uncategorized issues

nikomatsakis (Sep 17 2019 at 17:07, on Zulip):

three "blocking" issues,

nikomatsakis (Sep 17 2019 at 17:08, on Zulip):

though the only really blocking one I think is #64512, for which I opened a PR already

nikomatsakis (Sep 17 2019 at 17:08, on Zulip):

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

is assigned to me, I've made some strides towards how I think we should solve this, but still trying to figure out (more than anything) what error message we want to print.

nikomatsakis (Sep 17 2019 at 17:08, on Zulip):

One question though--

nikomatsakis (Sep 17 2019 at 17:09, on Zulip):

is anybody who's in this meeting interested in hacking on this? @davidtwco?

nikomatsakis (Sep 17 2019 at 17:09, on Zulip):

I could try to do a "rough draft" to get started, or maybe write up some mentoring notes, I'll have to do a bit of digging to see what info is available from the existing types etc

centril (Sep 17 2019 at 17:09, on Zulip):

Sorry, don't have the time for that atm (uni studies...)

nikomatsakis (Sep 17 2019 at 17:09, on Zulip):

If we want it in for the beta, it's gonna have to be this week.

davidtwco (Sep 17 2019 at 17:10, on Zulip):

is anybody who's in this meeting interested in hacking on this? davidtwco?

I could look into it.

nikomatsakis (Sep 17 2019 at 17:10, on Zulip):

(I also thought @blitzerr or @Santiago Pastorino might be interested)

nikomatsakis (Sep 17 2019 at 17:10, on Zulip):

@davidtwco great! I think it's pretty important, it's the single most common diagnostic complaint I've seen

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

I have a bit of an opening later, so I'm going to schedule in some time to write up some notes, or maybe make an initial branch

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

I guess that we should land some improvement even if it's not ideal

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

rustdoc renders re-exported async fns incorrectly #63710

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

sigh, we've not done much here either

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

busy time

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

it does seem like this is semi-important for libraries

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

probably just have to thread some info through the metadata

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

another place where volunteers would be great

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

but also prob needs someone with enough time to leave some mentoring notes

nikomatsakis (Sep 17 2019 at 17:13, on Zulip):

I'll try to look a bit for precedent

centril (Sep 17 2019 at 17:13, on Zulip):

I think https://github.com/rust-lang/rust/issues/60424 and https://github.com/rust-lang/rust/issues/61949 would be good to fix if we have some time (now, in beta, whenever...)

davidtwco (Sep 17 2019 at 17:13, on Zulip):

I don't want to overcommit myself, as I've been struggling to find time with work recently, but things are calming down and I've made one or two rustdoc PRs before, I could look into #63710 as well?

nikomatsakis (Sep 17 2019 at 17:13, on Zulip):

I thought we did fix #61949

centril (Sep 17 2019 at 17:13, on Zulip):

@nikomatsakis we made a temporary hack to ban stuff

nikomatsakis (Sep 17 2019 at 17:14, on Zulip):

I think that's going to be a long term ban :)

nikomatsakis (Sep 17 2019 at 17:14, on Zulip):

at least medium term

nikomatsakis (Sep 17 2019 at 17:14, on Zulip):

it's tricky to do better

nikomatsakis (Sep 17 2019 at 17:14, on Zulip):

though it would be good to do so

nikomatsakis (Sep 17 2019 at 17:14, on Zulip):

I guess all I'm saying is, if we had the time, i'd rather focus on #60424

centril (Sep 17 2019 at 17:15, on Zulip):

yea, I hesitated to include it for the tricky-to-fix reason

centril (Sep 17 2019 at 17:15, on Zulip):

agree :+1:

nikomatsakis (Sep 17 2019 at 17:15, on Zulip):

@davidtwco -- re: rustdoc -- if you have time that's great, I think what we're going to have to do is to add some data to metadata to record if a function was "async-like"

nikomatsakis (Sep 17 2019 at 17:15, on Zulip):

the problem is usually that rustdoc has two pathways, one for "local" things and one for "foreign" things, and the foreign one is lacking some data

nikomatsakis (Sep 17 2019 at 17:15, on Zulip):

but I've not looked at just how much data it would need to have

davidtwco (Sep 17 2019 at 17:16, on Zulip):

I'll take a look if I think I've got time and nobody else has assigned it.

nikomatsakis (Sep 17 2019 at 17:16, on Zulip):

sounds like a plan

centril (Sep 17 2019 at 17:16, on Zulip):

maybe @Giles Cope is interested in some of this?

nikomatsakis (Sep 17 2019 at 17:16, on Zulip):

ah I see a bunch of issues wound up in the "unclear" category

nikomatsakis (Sep 17 2019 at 17:16, on Zulip):

@centril ( I'd prefer if those were left untagged, btw, so we can decide here )

nikomatsakis (Sep 17 2019 at 17:17, on Zulip):

unclear issues

Giles Cope (Sep 17 2019 at 17:17, on Zulip):

happy to clear up something if you want to throw something my way

nikomatsakis (Sep 17 2019 at 17:17, on Zulip):

ah, nice

centril (Sep 17 2019 at 17:17, on Zulip):

@nikomatsakis right uhm, I think we should make most things -unclear again (except for async closures and other things intended to be unstable) and then retriage wrt. priority

nikomatsakis (Sep 17 2019 at 17:18, on Zulip):

well one option would be to look at the rustdoc bug (#63710) but maybe you'd need some initial mentoring notes

centril (Sep 17 2019 at 17:18, on Zulip):

P-async-[high, medium, low]

nikomatsakis (Sep 17 2019 at 17:18, on Zulip):

nikomatsakis right uhm, I think we should make most things -unclear again (except for async closures and other things intended to be unstable) and then retriage wrt. priority

we definitely need to finish going over the "deferred" issues, but until we branch beta at least, I'd not want to do a bunch of mass retagging

Giles Cope (Sep 17 2019 at 17:19, on Zulip):

how long do we have before the cut off?

nikomatsakis (Sep 17 2019 at 17:19, on Zulip):

it branches sometime next week I think

nikomatsakis (Sep 17 2019 at 17:19, on Zulip):

Spurious "unused lifetime parameter" warning with async function #64493

centril (Sep 17 2019 at 17:19, on Zulip):

24th, 7 days minus today

nikomatsakis (Sep 17 2019 at 17:19, on Zulip):
async fn async_fn(&ref mut s: &[i32]) {} //~ WARN lifetime parameter `'_` never used
nikomatsakis (Sep 17 2019 at 17:19, on Zulip):

undoubtedly related to the desugaring, this could be a good one to pick off too

nikomatsakis (Sep 17 2019 at 17:20, on Zulip):

but also not a big deal :shrug:

centril (Sep 17 2019 at 17:20, on Zulip):

could be annoying for folks who like to enable the lint

centril (Sep 17 2019 at 17:20, on Zulip):

we have a another similar issue

centril (Sep 17 2019 at 17:21, on Zulip):

@nikomatsakis agree re. waiting with retriage, it's ~1 week from now anyways so we could do it in 2 weeks? or be proactive and triage in 1 week

blitzerr (Sep 17 2019 at 17:21, on Zulip):

(I also thought blitzerr or Santiago Pastorino might be interested)

Can do @nikomatsakis

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

Nobbling the warning should be doable. I've not done much on the docs side yet.

centril (Sep 17 2019 at 17:21, on Zulip):

(if we intend to beta backport fixes)

simulacrum (Sep 17 2019 at 17:22, on Zulip):

ah to be clear the cut off is likely tuesday not thursday (so sept 24th), but we can backport fixes I guess

nikomatsakis (Sep 17 2019 at 17:23, on Zulip):

I'd be a bit more lenient than normal about backporting fixes

nikomatsakis (Sep 17 2019 at 17:23, on Zulip):

but of course we should strive to avoid that

nikomatsakis (Sep 17 2019 at 17:23, on Zulip):

so @Giles Cope do you want to claim #64493?

nikomatsakis (Sep 17 2019 at 17:24, on Zulip):

I can leave a few tips as to how to proceed, though I'm not sure what exactly is going on (@davidtwco might have some tips, too)

davidtwco (Sep 17 2019 at 17:24, on Zulip):

I'm happy to answer any questions that I can.

nikomatsakis (Sep 17 2019 at 17:24, on Zulip):

Lifetime errors on nightly-2019-09-11 but not nightly-2019-09-10 #64433

nikomatsakis (Sep 17 2019 at 17:25, on Zulip):

this is also fallout, similar to #64477

nikomatsakis (Sep 17 2019 at 17:25, on Zulip):

I hadn't seen that one before, should add to my gist

nikomatsakis (Sep 17 2019 at 17:25, on Zulip):

that is, fallout from tweaking the temporary lifetimes

nikomatsakis (Sep 17 2019 at 17:25, on Zulip):

this report however looks legit

nikomatsakis (Sep 17 2019 at 17:25, on Zulip):

that is, not due to #64512

nikomatsakis (Sep 17 2019 at 17:26, on Zulip):

I'm going to mark this as blocking as we must decide one way or the other

centril (Sep 17 2019 at 17:27, on Zulip):

Mid-way summary:

Giles Cope (Sep 17 2019 at 17:27, on Zulip):

#63710 looks like someone's trying but stuck

centril (Sep 17 2019 at 17:28, on Zulip):

@nikomatsakis wdyt about @Esteban Küber's suggestion as a temporary hack?

csmoe (Sep 17 2019 at 17:28, on Zulip):

Mid-way summary:

may I have a try #63710 ?

nikomatsakis (Sep 17 2019 at 17:29, on Zulip):

wdyt about Esteban Küber's suggestion as a temporary hack?

sorry, was adjusting labels; do you mean just always printing async fn for any -> impl Future type?

centril (Sep 17 2019 at 17:29, on Zulip):

@nikomatsakis yep

nikomatsakis (Sep 17 2019 at 17:29, on Zulip):

yeah, maybe? I'm not convinced it should be temporary, if we do it :)

nikomatsakis (Sep 17 2019 at 17:29, on Zulip):

it seemed like a bit error prone though

nikomatsakis (Sep 17 2019 at 17:29, on Zulip):

e.g., if you have -> impl Future + Send, I guess, we don't want to trigger etc?

nikomatsakis (Sep 17 2019 at 17:29, on Zulip):

but I also don't object

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

right; possibly it could be confusing for the user to see something they didn't write

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

@csmoe would be great, you can @rustbot claim it

blitzerr (Sep 17 2019 at 17:31, on Zulip):

Mid-way summary:

@centril Any notes on #60424 ?

centril (Sep 17 2019 at 17:31, on Zulip):

@nikomatsakis knows more about that part of the compiler

nikomatsakis (Sep 17 2019 at 17:32, on Zulip):

I don't know if I'll have time to put more work into that.

nikomatsakis (Sep 17 2019 at 17:32, on Zulip):

At least not this wek.

nikomatsakis (Sep 17 2019 at 17:32, on Zulip):

let's look at the remaining unclear issues then circle back

nikomatsakis (Sep 17 2019 at 17:32, on Zulip):

Consider async blocks on lifetime errors #64382

nikomatsakis (Sep 17 2019 at 17:32, on Zulip):

oh, shoot, I forgot, I have to run for another meeting now

centril (Sep 17 2019 at 17:33, on Zulip):

@blitzerr I'd look at the lowered code as a start to see what type inference is "actually" working on

nikomatsakis (Sep 17 2019 at 17:35, on Zulip):

re: #60424, it's a fairly complex issue; @davidtwco and I had a zulip topic where we talked about it; I have to go find my branch where I put in some changes I thought would fix it, but they didn't, the question is to look at what problems they caused and why

nikomatsakis (Sep 17 2019 at 17:35, on Zulip):

oh, shoot, I forgot, I have to run for another meeting now

folks running a bit late so i'll try to keep going

nikomatsakis (Sep 17 2019 at 17:35, on Zulip):

Lifetime error when Send is enforced on async function return type #64176

nikomatsakis (Sep 17 2019 at 17:35, on Zulip):

did anyone look at this? is it a duplicate of #64477?

davidtwco (Sep 17 2019 at 17:35, on Zulip):

re: #60424, it's a fairly complex issue; davidtwco and I had a zulip topic where we talked about it; I have to go find my branch where I put in some changes I thought would fix it, but they didn't, the question is to look at what problems they caused and why

Was that this topic?

centril (Sep 17 2019 at 17:37, on Zulip):
async fn func() -> &'static [&'static str] {
    &["hi"]
}

is probably a good example to look at also...

@nikomatsakis possibly hacky idea: what happens if we insert a type ascription in the lowering on the drop-temps { ... }: $return_ty to coerce stuff?

centril (Sep 17 2019 at 17:39, on Zulip):

(ofc we'd need to fix type ascription... :D)

centril (Sep 17 2019 at 17:41, on Zulip):

(try it with hir::ExprKind::Cast(...) for now, which is wrong, but allows us to see if we get any closer with added coercions)

Giles Cope (Sep 17 2019 at 18:07, on Zulip):

Thanks @nikomatsakis for chairing and assorted other awesomeness. Can't wait for it to be stable - thanks all!

Last update: Nov 18 2019 at 00:40UTC