Stream: wg-traits

Topic: alexreg sync


nikomatsakis (Feb 25 2019 at 16:51, on Zulip):

Hey @Alexander Regueiro, so we wanted to sync up a bit

nikomatsakis (Feb 25 2019 at 16:51, on Zulip):

I'm also supposed to be chatting with @Aaron Turon in a bit but that's ok

nikomatsakis (Feb 25 2019 at 16:52, on Zulip):

Actually it kind of fits :)

nikomatsakis (Feb 25 2019 at 16:52, on Zulip):

First question, I don't remember anymore, what PRs do you have in flight?

Alexander Regueiro (Feb 25 2019 at 16:54, on Zulip):

sorry, didn't see the message here...\

Alexander Regueiro (Feb 25 2019 at 16:54, on Zulip):

so, where should we start?

Alexander Regueiro (Feb 25 2019 at 16:55, on Zulip):

maybe with impl-trait-in-bindings (again, hah)

nikomatsakis (Feb 25 2019 at 16:55, on Zulip):

@Alexander Regueiro well I'd say start by giving me a mental dump of what you've got going on

nikomatsakis (Feb 25 2019 at 16:55, on Zulip):

e.g., the "table of contents"

Alexander Regueiro (Feb 25 2019 at 16:55, on Zulip):

do you think you'll have time to collate notes on that over the next week or two?

nikomatsakis (Feb 25 2019 at 16:55, on Zulip):

plausibly yes

Alexander Regueiro (Feb 25 2019 at 16:55, on Zulip):

possibly with my help?

nikomatsakis (Feb 25 2019 at 16:55, on Zulip):

what I think I would like to do

nikomatsakis (Feb 25 2019 at 16:56, on Zulip):

I'm trying to adopt a strategy of, for each thing we think we want to do, schedule an hour or two of fixed time

nikomatsakis (Feb 25 2019 at 16:56, on Zulip):

to dive in and lay out a roadmap

Alexander Regueiro (Feb 25 2019 at 16:56, on Zulip):

fair

nikomatsakis (Feb 25 2019 at 16:56, on Zulip):

ideally this would be something we'd do collaboratively a bit

nikomatsakis (Feb 25 2019 at 16:56, on Zulip):

but I could also just do it on my own e.g. if you are busy

nikomatsakis (Feb 25 2019 at 16:56, on Zulip):

and we can review after the fact

nikomatsakis (Feb 25 2019 at 16:56, on Zulip):

but essentially I want to try and put in enough "fixed time" to lay out a plan and then hopefull yit's easier to periodically check in on how it's going

Alexander Regueiro (Feb 25 2019 at 16:56, on Zulip):

also, @Taylor Cramer's fix to the impl Trait hidden invariant lifetimes thing... that's kind of stalled. I'm happy to pick it up.

nikomatsakis (Feb 25 2019 at 16:56, on Zulip):

right, so, that's on my mind, but from another angle

Alexander Regueiro (Feb 25 2019 at 16:57, on Zulip):

yeah exactly :-)

nikomatsakis (Feb 25 2019 at 16:57, on Zulip):

in particular, I'm looking to get a handle on our async-await situation

nikomatsakis (Feb 25 2019 at 16:57, on Zulip):

and that is a major component

Alexander Regueiro (Feb 25 2019 at 16:57, on Zulip):

finally, I think we need to schedule a meeting to really flesh out upcasting and multi-trait object stuff

nikomatsakis (Feb 25 2019 at 16:57, on Zulip):

so if you are interested in working a bit on that problem, that would be great, and I had already planned to schedule a "let's figure out a plan" session around that

nikomatsakis (Feb 25 2019 at 16:57, on Zulip):

finally, I think we need to schedule a meeting to really flesh out upcasting and multi-trait object stuff

yes, so, a question mark for me is whether this is somethign we should do urgently or defer

nikomatsakis (Feb 25 2019 at 16:57, on Zulip):

in particular I'm just trying to be realistic about overall bandwidth

Alexander Regueiro (Feb 25 2019 at 16:57, on Zulip):

I spoke to Guillaume Gomez about this a bit at All Hands, so he might get involved too (and dhardy if he's still around/interesteD)

Alexander Regueiro (Feb 25 2019 at 16:58, on Zulip):

fair enough

nikomatsakis (Feb 25 2019 at 16:58, on Zulip):

(something like the existential lifetime stuff helps multiple projects)

nikomatsakis (Feb 25 2019 at 16:58, on Zulip):

otoh I think trait object upcasting is kind of (e.g.) more implrtant than let x: impl Trait and some other extensions

Alexander Regueiro (Feb 25 2019 at 16:58, on Zulip):

maybe defer a bit? I'd like to devote time to upcasting, etc. mid-term, rather than long-term

nikomatsakis (Feb 25 2019 at 16:58, on Zulip):

in the sense that it's sort of like "make the lang we have reasonable" vs "grow lang we have"

Alexander Regueiro (Feb 25 2019 at 16:58, on Zulip):

yeah, I agree

nikomatsakis (Feb 25 2019 at 16:58, on Zulip):

maybe defer a bit? I'd like to devote time to upcasting, etc. mid-term, rather than long-term

yeah I think it might fall into the "shortlist" of next things to do

nikomatsakis (Feb 25 2019 at 16:59, on Zulip):

I'd probably put the existential lifetime + related items around async-await as "immediate"

Alexander Regueiro (Feb 25 2019 at 16:59, on Zulip):

but since work on impl-trait-in-bindings is already in progress, an RFC obviously done, and you have rather clear ideas on it (scattered across our conversations/notes), might be worth finishing it off noentheless

Alexander Regueiro (Feb 25 2019 at 16:59, on Zulip):

I'd probably put the existential lifetime + related items around async-await as "immediate"

I concur with this.

nikomatsakis (Feb 25 2019 at 16:59, on Zulip):

but since work on impl-trait-in-bindings is already in progress, an RFC obviously done, and you have rather clear ideas on it (scattered across our conversations/notes), might be worth finishing it off noentheless

this is the question mark for me

Alexander Regueiro (Feb 25 2019 at 16:59, on Zulip):

okay

nikomatsakis (Feb 25 2019 at 16:59, on Zulip):

I think otherwise I'd not give it high priority, but there is in flight work etc

Alexander Regueiro (Feb 25 2019 at 16:59, on Zulip):

indeed

nikomatsakis (Feb 25 2019 at 16:59, on Zulip):

I think what I'd say is: it's worth taking the time to make the roadmap

nikomatsakis (Feb 25 2019 at 16:59, on Zulip):

but maybe we don't start walking it

nikomatsakis (Feb 25 2019 at 17:00, on Zulip):

but regardless it'll be very useful to have when we do

nikomatsakis (Feb 25 2019 at 17:00, on Zulip):

(or maybe we do, depending how it seems)

Alexander Regueiro (Feb 25 2019 at 17:00, on Zulip):

yeah. and no particular rush to collate those notes/conversations, since I want to help sort out the existential lifetimes issue first

nikomatsakis (Feb 25 2019 at 17:00, on Zulip):

but basically if we wait too long we'll forget all the context

Alexander Regueiro (Feb 25 2019 at 17:00, on Zulip):

and I think I know what needs changing for that

nikomatsakis (Feb 25 2019 at 17:00, on Zulip):

ok let me start adding some notes on this to the traits roadmap doc..

Alexander Regueiro (Feb 25 2019 at 17:00, on Zulip):

indeed! I'm worried I've already forgotten a bit too much...

nikomatsakis (Feb 25 2019 at 17:00, on Zulip):

I kind of have ;) but I think I left enough notes to reconstitute

Alexander Regueiro (Feb 25 2019 at 17:01, on Zulip):

yeah, I think so too

Alexander Regueiro (Feb 25 2019 at 17:02, on Zulip):

so to start it's going to require some "grep"ing across Github, Zulip (private and public), and finding that HackMD note I think

Alexander Regueiro (Feb 25 2019 at 17:02, on Zulip):

there's probably 4-5 different bits.

Alexander Regueiro (Feb 25 2019 at 17:02, on Zulip):

with some contradictions, but generally the later conversations/notes more relevant

nikomatsakis (Feb 25 2019 at 17:03, on Zulip):

so what we've said so far is that there are 3 work items:

nikomatsakis (Feb 25 2019 at 17:03, on Zulip):

I planned already to schedule some time for the first one in the context of async await

nikomatsakis (Feb 25 2019 at 17:03, on Zulip):

and I will ping you on that

nikomatsakis (Feb 25 2019 at 17:03, on Zulip):

I am hoping to do that early this week

nikomatsakis (Feb 25 2019 at 17:03, on Zulip):

for the third one, as you say, there is a bit of initial work of grepping the things

nikomatsakis (Feb 25 2019 at 17:04, on Zulip):

and we can schedule a slot for that perhaps next week?

nikomatsakis (Feb 25 2019 at 17:04, on Zulip):

or maybe later this week

nikomatsakis (Feb 25 2019 at 17:04, on Zulip):

for the third one, as you say, there is a bit of initial work of grepping the things

I think this isn't too bad, I know you've done it before

nikomatsakis (Feb 25 2019 at 17:04, on Zulip):

does that sound reasonable?

Alexander Regueiro (Feb 25 2019 at 17:04, on Zulip):

sounds good

Alexander Regueiro (Feb 25 2019 at 17:04, on Zulip):

https://github.com/rust-lang/rust/pull/57870

Alexander Regueiro (Feb 25 2019 at 17:05, on Zulip):

so I think we should continue along those lines for the existential lifetimes

Alexander Regueiro (Feb 25 2019 at 17:05, on Zulip):

but obviously that hasn't been done quite right

nikomatsakis (Feb 25 2019 at 17:06, on Zulip):

yes, confirm

nikomatsakis (Feb 25 2019 at 17:06, on Zulip):

we need some form of "bounds" to ensure that the hidden lifetimes are not totally lost

Alexander Regueiro (Feb 25 2019 at 17:07, on Zulip):

@nikomatsakis we need to have somethign like the elided_dyn_bound fn for impl Trait?

Alexander Regueiro (Feb 25 2019 at 17:07, on Zulip):

which likewise calls new_implicit_lifetime?

nikomatsakis (Feb 25 2019 at 17:07, on Zulip):

probably

nikomatsakis (Feb 25 2019 at 17:07, on Zulip):

I'm not really sure which fns those are :)

Alexander Regueiro (Feb 25 2019 at 17:08, on Zulip):

@nikomatsakis if it helps, in HIR lowering: https://gist.github.com/1bd1774426be6bb3ddc8b595deb60f70

Last update: Nov 12 2019 at 15:30UTC