Stream: wg-async-foundations

Topic: meeting 2019.10.22


nikomatsakis (Oct 22 2019 at 17:01, on Zulip):

Hey @WG-async-foundations =)

nikomatsakis (Oct 22 2019 at 17:01, on Zulip):

Triage meeting time

Giles Cope (Oct 22 2019 at 17:01, on Zulip):

hey :-)

nikomatsakis (Oct 22 2019 at 17:02, on Zulip):

Hmm I see a number of untriaged issues

nikomatsakis (Oct 22 2019 at 17:02, on Zulip):

Doucment auto traits for async fn #65677

nikomatsakis (Oct 22 2019 at 17:03, on Zulip):

I'm going to just mark as "triaged", but it's definitely a nice idea -- seems to apply to impl Trait as well

nikomatsakis (Oct 22 2019 at 17:03, on Zulip):

Async/Await: Confusing error message when using non-Send type in async fn #65667

nikomatsakis (Oct 22 2019 at 17:04, on Zulip):

This seems like the case that the work @davidtwco did was meant to address

Giles Cope (Oct 22 2019 at 17:05, on Zulip):

I'm on the lookout for an easy issue to try and rope a friend into joining the working group.

davidtwco (Oct 22 2019 at 17:05, on Zulip):

I can check if my open PR addresses #65667

nikomatsakis (Oct 22 2019 at 17:05, on Zulip):

great, I was just going to ask you to do that...

nikomatsakis (Oct 22 2019 at 17:06, on Zulip):

I'm going to tag that as on-deck for now

nikomatsakis (Oct 22 2019 at 17:06, on Zulip):

since it seems like it'd be a common sort of concern

nikomatsakis (Oct 22 2019 at 17:06, on Zulip):

impl Trait that does not capture generic argument #65442

nikomatsakis (Oct 22 2019 at 17:07, on Zulip):

I believe there is already an issue filed about this

nikomatsakis (Oct 22 2019 at 17:07, on Zulip):

Hmm, maybe not

Mark Drobnak (Oct 22 2019 at 17:08, on Zulip):

Hey all, I'm also on the lookout for opportunities to work on the Rust project. This WG caught my interest, so please let me know if you have resources/opportunities for getting involved.

nikomatsakis (Oct 22 2019 at 17:09, on Zulip):

Welcome @Mark Drobnak -- we're going through new issues right now, but we will look through the 'on deck' ones shortly and can maybe find something suitable

nikomatsakis (Oct 22 2019 at 17:09, on Zulip):

regarding #65442, I think I may put it as "on deck"..? not sure how common it is, but I wouldn't mind doing a bit of investigation

nikomatsakis (Oct 22 2019 at 17:10, on Zulip):

async/await regression regarding borrows across yields #65436

nikomatsakis (Oct 22 2019 at 17:10, on Zulip):

this is related to the temporary borrow rules

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

@davidtwco seems like another case where i'd hope the "nicer errors" could kick in

davidtwco (Oct 22 2019 at 17:11, on Zulip):

I'll also assign that to me and look into it in the context of the open PR.

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

I'll leave some comments that the errors are largely expected but we might improve the error reports

David Haig (Oct 22 2019 at 17:12, on Zulip):

Me too, thanks for inviting me Giles. I'd like to help out. I spend a lot of time working with async in c# so maybe I can draw some parallels with this particular discussion. For example, c# does not allow you to take a lock inside an async function because it does not really make sense to do so.

nikomatsakis (Oct 22 2019 at 17:13, on Zulip):

Question: did we ever wind up with that "workarounds" chapter in the async-book?

nikomatsakis (Oct 22 2019 at 17:14, on Zulip):

gah! we have 8 open PRs there

nikomatsakis (Oct 22 2019 at 17:14, on Zulip):

looks like we do have such a section though

David Haig (Oct 22 2019 at 17:14, on Zulip):

I'd be happy to help out with something less difficult to solve though. Maybe some documentation or error messages.

nikomatsakis (Oct 22 2019 at 17:16, on Zulip):

@David Haig how would you feel about contributing to the async book? in particular, I'd like to document the fact that sometimes you want to do

let t = foo(...);
t.await;

instead of foo(...).await

nikomatsakis (Oct 22 2019 at 17:16, on Zulip):

the reason has to do with temporary lifetimes

nikomatsakis (Oct 22 2019 at 17:17, on Zulip):

actually, maybe not the best choice unless you understand that mechanism, as I'd like to be able to explain it

nikomatsakis (Oct 22 2019 at 17:17, on Zulip):

async/await regression regarding borrows across yields #65436

so about this issue -- it was marked as on-deck but I'm thinking of removing that, as there is not much immediately actionable, and what there is is really duplicated in other issues (get more precise about our analysis)

nikomatsakis (Oct 22 2019 at 17:18, on Zulip):

maybe we should just close it?

David Haig (Oct 22 2019 at 17:18, on Zulip):

Great! I'd love to. Let me take a look at the area.

nikomatsakis (Oct 22 2019 at 17:18, on Zulip):

@David Haig ok! let's sync up briefly after because I want to check if there is an existing issue and else create one

David Haig (Oct 22 2019 at 17:18, on Zulip):

David Haig ok! let's sync up briefly after because I want to check if there is an existing issue and else create one

ok

nikomatsakis (Oct 22 2019 at 17:19, on Zulip):

Suggest as_mut to reborrow Pin when calling method #65409

nikomatsakis (Oct 22 2019 at 17:20, on Zulip):

I have no real thoughts about this

nikomatsakis (Oct 22 2019 at 17:20, on Zulip):

not sure how common this is

nikomatsakis (Oct 22 2019 at 17:20, on Zulip):

I wouldn't make it on -deck, I don't think?

csmoe (Oct 22 2019 at 17:20, on Zulip):

update: #65180 has a PR #65668, a testcase pending.

nikomatsakis (Oct 22 2019 at 17:21, on Zulip):

rustc suggests invalid syntax to fix lifetime inferring error #62097

nikomatsakis (Oct 22 2019 at 17:21, on Zulip):

poor diagnostics

nikomatsakis (Oct 22 2019 at 17:21, on Zulip):

I can imagine how this happens

nikomatsakis (Oct 22 2019 at 17:21, on Zulip):

we add "dummy" lifetimes that we name '_

nikomatsakis (Oct 22 2019 at 17:21, on Zulip):

I guess the NLL logic is not registering these as "anonymous lifetimes"

nikomatsakis (Oct 22 2019 at 17:21, on Zulip):

@csmoe I'm curious, how well do you know that code?

nikomatsakis (Oct 22 2019 at 17:21, on Zulip):

I feel like I remember you poking at it before

nikomatsakis (Oct 22 2019 at 17:22, on Zulip):

also @mark-i-m and @Matthew Jasper, maybe some others

nikomatsakis (Oct 22 2019 at 17:22, on Zulip):

this seems worth fixing

nikomatsakis (Oct 22 2019 at 17:22, on Zulip):

I'll mark as on-deck and ping a few folks for now-- this could be a good fit for a newcomer

nikomatsakis (Oct 22 2019 at 17:22, on Zulip):

might require a bit of digging though to make mentoring instructions

nikomatsakis (Oct 22 2019 at 17:23, on Zulip):

ok, whew, that's all the untriaged issues!

nikomatsakis (Oct 22 2019 at 17:23, on Zulip):

any updates from the week, besides @csmoe ?

csmoe (Oct 22 2019 at 17:23, on Zulip):

this seems worth fixing

I'll take care of it

csmoe (Oct 22 2019 at 17:24, on Zulip):

any updates from the week, besides csmoe ?

not about async-await, I'm rebasing rfc2229 branch

Giles Cope (Oct 22 2019 at 17:24, on Zulip):

almost got an initial PR on my one...

nikomatsakis (Oct 22 2019 at 17:24, on Zulip):

@csmoe great! I assigned it to you

nikomatsakis (Oct 22 2019 at 17:25, on Zulip):

I didn't get any time last week to do updates

nikomatsakis (Oct 22 2019 at 17:25, on Zulip):

I'll try to do something this week though, I'm just trying to explore options for more precise async-capture analysis

nikomatsakis (Oct 22 2019 at 17:25, on Zulip):

I was also thinking of spending some time this week writing a blog post about async fn in traits -- I'd like to (for myself) explore what the blockers / considerations are and (for others) take a stab at documenting them.

nikomatsakis (Oct 22 2019 at 17:26, on Zulip):

OK, so we got a few minutes left, who's looking for tasks? @David Haig we found one possibility for ya, @Giles Cope you mentioned you were looking for something ?

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

I'm good for this week - new job is enough to juggle :-)

nikomatsakis (Oct 22 2019 at 17:27, on Zulip):

ok great!

nikomatsakis (Oct 22 2019 at 17:27, on Zulip):

@David Haig -- I'll look now into the book issues, I'll start a separate zulip topic and ping you

nikomatsakis (Oct 22 2019 at 17:29, on Zulip):

hmm, actually, it looks like the "temporary lifetimes" issue is already described at the end of this section

nikomatsakis (Oct 22 2019 at 17:29, on Zulip):

so maybe @David Haig we should find you something else :)

nikomatsakis (Oct 22 2019 at 17:30, on Zulip):

how about #65419? I already added some mentoring instructions here.

nikomatsakis (Oct 22 2019 at 17:30, on Zulip):

not super high priority but would be nice to fix

Giles Cope (Oct 22 2019 at 17:31, on Zulip):

sounds like a good one to start with

nikomatsakis (Oct 22 2019 at 17:31, on Zulip):

if you like the idea, just do @rustbot claim in the issue, @David Haig

nikomatsakis (Oct 22 2019 at 17:31, on Zulip):

also, I'm realizing we should simplify our labels

David Haig (Oct 22 2019 at 17:31, on Zulip):

not super high priority but would be nice to fix

Ok let me take a look at it.

Giles Cope (Oct 22 2019 at 17:31, on Zulip):

does david need to be in the org?

nikomatsakis (Oct 22 2019 at 17:32, on Zulip):

no

nikomatsakis (Oct 22 2019 at 17:32, on Zulip):

that's the nice part about rustbot claim :)

Giles Cope (Oct 22 2019 at 17:32, on Zulip):

ah ok

nikomatsakis (Oct 22 2019 at 17:32, on Zulip):

I think btw we should change our labels slightly

nikomatsakis (Oct 22 2019 at 17:32, on Zulip):

we can remove AsyncAwait-Focus and instead just have the "focus" issues be the "on deck issues" that are assigned

nikomatsakis (Oct 22 2019 at 17:32, on Zulip):

it's just kind of busy work to change those labels

Giles Cope (Oct 22 2019 at 17:32, on Zulip):

do you think we went 'overboard' with them? ;-)

nikomatsakis (Oct 22 2019 at 17:32, on Zulip):

and it makes it annoying when (e.g.) somebody self-assigns

nikomatsakis (Oct 22 2019 at 17:33, on Zulip):

we can remove AsyncAwait-Focus and instead just have the "focus" issues be the "on deck issues" that are assigned

actually just any "triaged" issue that is assigned, I guess

nikomatsakis (Oct 22 2019 at 17:33, on Zulip):

(I'll tweak the searches)

nikomatsakis (Oct 22 2019 at 17:34, on Zulip):

thanks all! :grinning:

mark-i-m (Oct 22 2019 at 18:00, on Zulip):

also @mark-i-m and @Matthew Jasper, maybe some others

I looked into it briefly, but ran out of time and end up hacking around it in https://github.com/rust-lang/rust/pull/58281

Last update: Nov 18 2019 at 00:35UTC