Stream: wg-async-foundations

Topic: meeting 2019.11.12


nikomatsakis (Nov 12 2019 at 18:04, on Zulip):

Hey @WG-async-foundations -- meeting?

nikomatsakis (Nov 12 2019 at 18:04, on Zulip):

Oh, btw, not sure if you noticed but uh... async-await is stable :)

davidtwco (Nov 12 2019 at 18:04, on Zulip):

I'm around, but won't be able to participate actively.

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

Untriaged issues

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

async fn presence affects an unrelated error message #66312

csmoe (Nov 12 2019 at 18:05, on Zulip):

async fn presence affects an unrelated error message #66312

i'm working on this right now

nikomatsakis (Nov 12 2019 at 18:06, on Zulip):

great! Any clues as to what is going on?

nikomatsakis (Nov 12 2019 at 18:08, on Zulip):

OK, triaged, assigned to csmoe; it seems like this is not an immediate crisis (despite some early warning signs)

csmoe (Nov 12 2019 at 18:08, on Zulip):

sup(self_ty, probe.xform_self_ty) returns ProbeResult::NoMatch

nikomatsakis (Nov 12 2019 at 18:08, on Zulip):

Waker::will_wake() gets mostly defeated by executor optimizations #66281

nikomatsakis (Nov 12 2019 at 18:10, on Zulip):

this seems like a design question, not something where we should take immediate action

nikomatsakis (Nov 12 2019 at 18:10, on Zulip):

it does raise the question (which I don't know the best answer to) for how to move the scope of this effort beyond "polish for async-await impl"

nikomatsakis (Nov 12 2019 at 18:10, on Zulip):

but I don't want to hash that out at a triage meeting

nikomatsakis (Nov 12 2019 at 18:10, on Zulip):

marking as "triaged"

nikomatsakis (Nov 12 2019 at 18:10, on Zulip):

Borrowing from arguments with higher order async functions #66198

nikomatsakis (Nov 12 2019 at 18:13, on Zulip):

not a bug, closing

nikomatsakis (Nov 12 2019 at 18:13, on Zulip):

async fn unmet lifetime constraints produce confusing diagnostics #66168

nikomatsakis (Nov 12 2019 at 18:14, on Zulip):

I'm going to mark this as triaged; diagnostic improvement possible, doesn't seem egregious

nikomatsakis (Nov 12 2019 at 18:15, on Zulip):

async-block lifetime issue with shared reference in the return type (async-fn works as expected) #66107

nikomatsakis (Nov 12 2019 at 18:15, on Zulip):

what's missing here, I think, is a suggestion to change from async to async move

nikomatsakis (Nov 12 2019 at 18:19, on Zulip):

left a comment

nikomatsakis (Nov 12 2019 at 18:19, on Zulip):

debating whether to move this one to on-deck

nikomatsakis (Nov 12 2019 at 18:19, on Zulip):

seems like a reasonably easy case to get started on, and I suspect this will be a common mistake

nikomatsakis (Nov 12 2019 at 18:21, on Zulip):

[codegen] Unnecessary panicking branches in resumption of infinite generator (stored in static variable) #66100

nikomatsakis (Nov 12 2019 at 18:24, on Zulip):

that is a very detailed report

nikomatsakis (Nov 12 2019 at 18:24, on Zulip):

but it makes sense

nikomatsakis (Nov 12 2019 at 18:25, on Zulip):

it's an optimization, basically, for the special cases of generators that neither return nor unwind (because panic=abort)

nikomatsakis (Nov 12 2019 at 18:27, on Zulip):

I'm going to mark it as triaged but not on-deck

nikomatsakis (Nov 12 2019 at 18:27, on Zulip):

seems like a bit of an edge case? I guess not if you are working in an embedded environment :)

nikomatsakis (Nov 12 2019 at 18:27, on Zulip):

@tmandry, btw are you around?

nikomatsakis (Nov 12 2019 at 18:27, on Zulip):

OK, that's all the untriaged bugs

nikomatsakis (Nov 12 2019 at 18:28, on Zulip):

AsyncAwait-Focus updates

nikomatsakis (Nov 12 2019 at 18:28, on Zulip):

@csmoe you're fixing a lot of stuff!

tmandry (Nov 12 2019 at 18:29, on Zulip):

@nikomatsakis at dinner but on my phone

nikomatsakis (Nov 12 2019 at 18:29, on Zulip):

How goes it with https://github.com/rust-lang/rust/pull/65668 ?

nikomatsakis (Nov 12 2019 at 18:29, on Zulip):

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

this is assigned to @davidtwco, who has a pending PR (#65345), I remember now I was going to try and get some feedback

nikomatsakis (Nov 12 2019 at 18:30, on Zulip):

rustc suggests invalid syntax to fix lifetime inferring error #62097

nikomatsakis (Nov 12 2019 at 18:30, on Zulip):

@csmoe has a pending PR (#65730)

csmoe (Nov 12 2019 at 18:30, on Zulip):

How goes it with https://github.com/rust-lang/rust/pull/65668 ?

the min-test is a bit hard as the origin code mixed with "lots of" traits and associated type :frown:

nikomatsakis (Nov 12 2019 at 18:30, on Zulip):

looks like it needs --compare-mode nll

csmoe (Nov 12 2019 at 18:31, on Zulip):

looks like it needs --compare-mode nll

./x.py test'ing locally. :slight_smile:

nikomatsakis (Nov 12 2019 at 18:31, on Zulip):

async/await: awaiting inside a match block captures borrow too eagerly #57017

@Aaron Hill has some pending PRs here that need feedback (#65783, #65782)

nikomatsakis (Nov 12 2019 at 18:31, on Zulip):

the min-test is a bit hard as the origin code mixed with "lots of" traits and associated type :(

the challenge here is minimizing the original bug report?

csmoe (Nov 12 2019 at 18:32, on Zulip):

the min-test is a bit hard as the origin code mixed with "lots of" traits and associated type :frown:

the challenge here is minimizing the original bug report?

yes

nikomatsakis (Nov 12 2019 at 18:33, on Zulip):

hmm

nikomatsakis (Nov 12 2019 at 18:34, on Zulip):

do you want some help with that?

nikomatsakis (Nov 12 2019 at 18:34, on Zulip):

what I usually do is to start by removing as much of the example as possible

nikomatsakis (Nov 12 2019 at 18:34, on Zulip):

sometimes by creating a function like

nikomatsakis (Nov 12 2019 at 18:34, on Zulip):
fn make_type<T>() -> T { panic!() }
nikomatsakis (Nov 12 2019 at 18:35, on Zulip):

and then e.g. replacing things like

    let server = hyper::server::Server::from_tcp(listener).map_err(Error::UncreatableServer)?;

with

let server: hyper::Server = make_type();
nikomatsakis (Nov 12 2019 at 18:35, on Zulip):

until I've got something pretty small

nikomatsakis (Nov 12 2019 at 18:35, on Zulip):

then you can try to copy and paste over the struct definitions from hyper itself

csmoe (Nov 12 2019 at 18:36, on Zulip):

thanks, this workflow seems really helpful :heart:

nikomatsakis (Nov 12 2019 at 18:36, on Zulip):

(ok, well, we're at 30 minutes, anybody looking for something to work on?)

nikomatsakis (Nov 12 2019 at 18:36, on Zulip):

@csmoe feel free to ping if running into trouble, and thanks for tackling so many issues :heart:

csmoe (Nov 12 2019 at 18:37, on Zulip):

csmoe feel free to ping if running into trouble, and thanks for tackling so many issues :heart:

okay,
it's really enjoyable to work with rustc code :slight_smile:

Giles Cope (Nov 12 2019 at 22:27, on Zulip):

@csmoe I had fun using https://github.com/jethrogb/rust-reduce to minimise the code creating a problem. (Sadly my PRs haven't landed to it but you can just fork and merge them in I guess).

Giles Cope (Nov 12 2019 at 22:29, on Zulip):

Sorry couldn't be at the meeting - was flying back from #rustfest. @oli and I got a compiler hacking room going for the impl days - it was great fun. Hopefully a compiler hacking room might be a regular fixture at the impl days. :fingers_crossed:

Last update: Dec 12 2019 at 00:45UTC