Stream: wg-traits

Topic: weekly meeting 2019-01-14


nikomatsakis (Jan 14 2019 at 18:57, on Zulip):

Hello @WG-compiler-traits -- sync meeting in 5 minutes =)

tmandry (Jan 14 2019 at 18:58, on Zulip):

fyi, I can only be here for the first half-hour or so

tmandry (Jan 14 2019 at 18:59, on Zulip):

my update is I still find myself wanting to work on something, but not sure what

Sunjay Varma (Jan 14 2019 at 19:00, on Zulip):

(that's so perfectly stated I'm going to steal it)

Sunjay Varma (Jan 14 2019 at 19:00, on Zulip):

my update is I still find myself wanting to work on something, but not sure what

Alexander Regueiro (Jan 14 2019 at 19:00, on Zulip):

I can be here for a bit, but not too long...

Alexander Regueiro (Jan 14 2019 at 19:01, on Zulip):

@tmandry want to fix the RPIT lifetime issues? :-D

tmandry (Jan 14 2019 at 19:02, on Zulip):

@Alexander Regueiro if you can link me to some info I'll look into it

Alexander Regueiro (Jan 14 2019 at 19:02, on Zulip):

cool

scalexm (Jan 14 2019 at 19:02, on Zulip):

Also I could probably mentor someone to finish prototyping trait objects in chalk

nikomatsakis (Jan 14 2019 at 19:03, on Zulip):

In terms of the "salsa-ification" business, it seems like we had a few too many people interested, and nobody actually "claimed", is that correct?

tmandry (Jan 14 2019 at 19:04, on Zulip):

@Alexander Regueiro assuming we already have a rough idea of how to fix it.. I don't think I'm qualified to come up with solutions in the compiler where others have failed, yet :)

Alexander Regueiro (Jan 14 2019 at 19:04, on Zulip):

@tmandry
Okay, regarding RPIT lifetimes:
1. https://github.com/rust-lang/rust/issues/34511#issuecomment-373423999 (@eddyb has some thoughts about this, but he hasn't been around for a while now, and @nikomatsakis understands it anyway)
2. https://github.com/rust-lang/rust/issues/42940
3. Possibly https://github.com/rust-lang/rust/issues/55929 is related to or even the same as 1?

Alexander Regueiro (Jan 14 2019 at 19:04, on Zulip):

@tmandry yep, I think so :-)

nikomatsakis (Jan 14 2019 at 19:04, on Zulip):

I feel like those issues are not really an implementation concern

Alexander Regueiro (Jan 14 2019 at 19:04, on Zulip):

if not, maybe we can clarify the approaches here.

nikomatsakis (Jan 14 2019 at 19:05, on Zulip):

but I'm not sure what each of the issues links to

Alexander Regueiro (Jan 14 2019 at 19:05, on Zulip):

@scalexm I would love to learn a bit about Chalk by doing that, but I think I'm a bit overburdened already... if no one has taken it on-board in a week's time, maybe?

nikomatsakis (Jan 14 2019 at 19:05, on Zulip):

it's more that I am concerned about us accidentally accepting things we don't quite know how to think about; I'm not sure what will help me feel less concerned about that, though.

tmandry (Jan 14 2019 at 19:05, on Zulip):

@nikomatsakis yes we spoke about possibly breaking it up into pieces. I guess firstly we need an issue

nikomatsakis (Jan 14 2019 at 19:06, on Zulip):

yeah, I suppose so.

nikomatsakis (Jan 14 2019 at 19:06, on Zulip):

I'm not sure it merits more than one person really

nikomatsakis (Jan 14 2019 at 19:06, on Zulip):

ok I agree in any case that "supply of actionable steps" remains the hardest thing to create =)

Taylor Cramer (Jan 14 2019 at 19:07, on Zulip):

I'd also be interested in tracking the RPIT lifetimes issues

tmandry (Jan 14 2019 at 19:07, on Zulip):

I was initially interested in salsa-ification but I am happy to pick up something else, if someone else wants to work on that

Taylor Cramer (Jan 14 2019 at 19:07, on Zulip):

and helping to resolve if possible

Alexander Regueiro (Jan 14 2019 at 19:08, on Zulip):

@Taylor Cramer cool. you probably understand those better than me. are you of the opinion that 3 and 1 are the same?

Alexander Regueiro (Jan 14 2019 at 19:08, on Zulip):

2 is definitely different

Alexander Regueiro (Jan 14 2019 at 19:08, on Zulip):

although on the same theme of course.

nikomatsakis (Jan 14 2019 at 19:09, on Zulip):

ok so I'm updating the paper doc a bit

Sunjay Varma (Jan 14 2019 at 19:09, on Zulip):

I am also open to working on anything. My preference is to things that help get chalk into rustc faster

nikomatsakis (Jan 14 2019 at 19:09, on Zulip):

maybe we can brainstorm out some of the things and try to write out what is blocking them

nikomatsakis (Jan 14 2019 at 19:10, on Zulip):

(I would like to take some of that material and move it to something like the repo we had talked about; I had hoped to do this before last week but hey, life, but this gives us a chance to kind of create it together, so that's good =)

Taylor Cramer (Jan 14 2019 at 19:12, on Zulip):

@Alexander Regueiro I have no idea about (3)

Taylor Cramer (Jan 14 2019 at 19:12, on Zulip):

I hadn't seen that before

Alexander Regueiro (Jan 14 2019 at 19:15, on Zulip):

@Taylor Cramer it looks very much like 1, but I can help investigate if you like. do you want to spearhead 1 and 2 and let me know if you need assistance (just to speed things up; I'm sure you can do it all yourself)

Alexander Regueiro (Jan 14 2019 at 19:15, on Zulip):

@nikomatsakis is this a good point to plan a meeting about upcasting and multi-trait objects too?

nikomatsakis (Jan 14 2019 at 19:15, on Zulip):

I think so

nikomatsakis (Jan 14 2019 at 19:15, on Zulip):

I think for some of these topics that have a lot of uncertainty

nikomatsakis (Jan 14 2019 at 19:16, on Zulip):

probably the best way for us to make traction is to schedule a dedicated time to chat about it

nikomatsakis (Jan 14 2019 at 19:16, on Zulip):

with the goal of creating actionable steps etc

nikomatsakis (Jan 14 2019 at 19:16, on Zulip):

(@Keith Yeung are you here now?)

Keith Yeung (Jan 14 2019 at 19:17, on Zulip):

Yes

Alexander Regueiro (Jan 14 2019 at 19:17, on Zulip):

indeed

nikomatsakis (Jan 14 2019 at 19:18, on Zulip):

actually it feels pretty good just writing all these things down

nikomatsakis (Jan 14 2019 at 19:18, on Zulip):

please people take a look and tell me what you think is missing

nikomatsakis (Jan 14 2019 at 19:18, on Zulip):

I am wondering whether it makes sense

nikomatsakis (Jan 14 2019 at 19:18, on Zulip):

for some of these specific topics, particularly the more complex ones

nikomatsakis (Jan 14 2019 at 19:18, on Zulip):

to have kind of dedicated chat slots

nikomatsakis (Jan 14 2019 at 19:19, on Zulip):

i.e., maybe this "weekly traits meeting" is too broad -- and it should become less frequent, more of a "meta-meeting", and we should have more narrow discussions?

Alexander Regueiro (Jan 14 2019 at 19:19, on Zulip):

hmm perhaps

nikomatsakis (Jan 14 2019 at 19:19, on Zulip):

@Keith Yeung I was going to say sorry for not giving you feedback on the clause selection but let's push that forward,

Alexander Regueiro (Jan 14 2019 at 19:19, on Zulip):

biweekly shorter meta-meeting, but weekly focused meetings?

nikomatsakis (Jan 14 2019 at 19:20, on Zulip):

(I've been thinking a lot about how to organize this traits effort, it feels like we haven't hit our stride yet :)

nikomatsakis (Jan 14 2019 at 19:20, on Zulip):

perhaps, yes

tmandry (Jan 14 2019 at 19:20, on Zulip):

I could see that working

nikomatsakis (Jan 14 2019 at 19:20, on Zulip):

we need some dedicated times I think to dig into technical details

nikomatsakis (Jan 14 2019 at 19:20, on Zulip):

so then the question becomes: which areas to create etc

tmandry (Jan 14 2019 at 19:21, on Zulip):

yeah some things will probably fall through the cracks

nikomatsakis (Jan 14 2019 at 19:21, on Zulip):

I think what I woudl sort of like to do is this

tmandry (Jan 14 2019 at 19:21, on Zulip):

maybe on off-weeks it becomes traits "office hours" where people can always ask things that don't have dedicated time attached

nikomatsakis (Jan 14 2019 at 19:21, on Zulip):

first of all, I want a master document sort of like the one we have here

nikomatsakis (Jan 14 2019 at 19:21, on Zulip):

that is listing out the "things we are doing" and their status

nikomatsakis (Jan 14 2019 at 19:22, on Zulip):

yeah, idk, maybe we just try to have a sync time for each thing that is actively being worked on

Sunjay Varma (Jan 14 2019 at 19:22, on Zulip):

first of all, I want a master document sort of like the one we have here

Isn't that kind of like a repo with issues and a project tracking them?

nikomatsakis (Jan 14 2019 at 19:22, on Zulip):

yes, that was what I was thinking as I typed it

nikomatsakis (Jan 14 2019 at 19:22, on Zulip):

except it's not

nikomatsakis (Jan 14 2019 at 19:22, on Zulip):

somehow a bunch of issues is more complex

nikomatsakis (Jan 14 2019 at 19:22, on Zulip):

anyway forget that part

nikomatsakis (Jan 14 2019 at 19:23, on Zulip):

it seems like we just need to pick a few things and focus on making them happen, and I think some of the more hazy things, the immediate step that is needed is to try and make them more concrete

nikomatsakis (Jan 14 2019 at 19:23, on Zulip):

for trait objects, I propose that we start with trait object upcasting

nikomatsakis (Jan 14 2019 at 19:24, on Zulip):

I guess I would propose something like this for this week's agenda:

Taylor Cramer (Jan 14 2019 at 19:24, on Zulip):

@Alexander Regueiro I'm not really sure what a "fix" for (1) looks like

Taylor Cramer (Jan 14 2019 at 19:25, on Zulip):

(perhaps we should make this a separate thread so it doesn't get lost?)

Alexander Regueiro (Jan 14 2019 at 19:25, on Zulip):

and yes, good idea

nikomatsakis (Jan 14 2019 at 19:26, on Zulip):

er, I overlooked the trait object integration from @scalexm

nikomatsakis (Jan 14 2019 at 19:26, on Zulip):

that probably takes priority over specialization

nikomatsakis (Jan 14 2019 at 19:27, on Zulip):

@scalexm how do you think we ought to proceed there? I feel like it'd probably be helpful to talk it over a bit more in depth, perhaps via a voice call?

scalexm (Jan 14 2019 at 19:28, on Zulip):

@nikomatsakis maybe, although things are much clearer to me now, so I might be able to write a short document which explains how I see the implementation with simple rules, and why it solves the soundness issues we know about

nikomatsakis (Jan 14 2019 at 19:29, on Zulip):

OK.

nikomatsakis (Jan 14 2019 at 19:29, on Zulip):

I was thinking over the weekend that I could see it being really useful to have a "scheduled call" where we go over the design of some thorny-ish question

nikomatsakis (Jan 14 2019 at 19:30, on Zulip):

I feel like it would be useful to have times to talk things out

nikomatsakis (Jan 14 2019 at 19:30, on Zulip):

it'd probably also be ok for it to be zulip

scalexm (Jan 14 2019 at 19:30, on Zulip):

@nikomatsakis yeah

nikomatsakis (Jan 14 2019 at 19:30, on Zulip):

but I feel a need to have more design discussion and I'm not sure how best to do it

nikomatsakis (Jan 14 2019 at 19:30, on Zulip):

(e.g., I've been thinking about how to handle regions a lot lately)

scalexm (Jan 14 2019 at 19:30, on Zulip):

A thing I might want to voice chat about is handling lifetimes in rustc/chalk

nikomatsakis (Jan 14 2019 at 19:30, on Zulip):

right, that

nikomatsakis (Jan 14 2019 at 19:31, on Zulip):

ok, so, I propose this structure

nikomatsakis (Jan 14 2019 at 19:31, on Zulip):

we have a call with a topic

nikomatsakis (Jan 14 2019 at 19:31, on Zulip):

and/or sync chat

nikomatsakis (Jan 14 2019 at 19:31, on Zulip):

somebodfy is responsible for producing a kind of starting proposal

nikomatsakis (Jan 14 2019 at 19:31, on Zulip):

participants are supposed to read it :)

nikomatsakis (Jan 14 2019 at 19:31, on Zulip):

and then we dig into it

nikomatsakis (Jan 14 2019 at 19:31, on Zulip):

i.e., to kind of set the scene

nikomatsakis (Jan 14 2019 at 19:32, on Zulip):

I would be happy to try and produce a proposal about lifetimes etc, and maybe you can produce a proposal around trait objects? we can try to talk about one of those in more detail next week?

nikomatsakis (Jan 14 2019 at 19:33, on Zulip):

(@Sunjay Varma I would also be happy to schedule a slot to talk over the specialization stuff and get ball rolling there, and maybe you can keep it rolling)

Sunjay Varma (Jan 14 2019 at 19:34, on Zulip):

(@Sunjay Varma I would also be happy to schedule a slot to talk over the specialization stuff and get ball rolling there, and maybe you can keep it rolling)

I would love to do that. I know some work on that has already been done. Is that recorded somewhere? I know about the call in the chalk code that records some info for specialization. Is there anything else?

Sunjay Varma (Jan 14 2019 at 19:34, on Zulip):

I find that these meetings work better when I get a chance to think about things in advance :)

nikomatsakis (Jan 14 2019 at 19:34, on Zulip):

@Sunjay Varma I don't think any real work has been done

nikomatsakis (Jan 14 2019 at 19:34, on Zulip):

well, I can review

nikomatsakis (Jan 14 2019 at 19:34, on Zulip):

I shouldn't say that

nikomatsakis (Jan 14 2019 at 19:35, on Zulip):

but I think the hard questions are not covered :)

nikomatsakis (Jan 14 2019 at 19:35, on Zulip):

I've thought about it a fair amount though

nikomatsakis (Jan 14 2019 at 19:35, on Zulip):

so what I would suggest is that we schedule a slot tomorrow -- maybe some one we did last week? -- and we'll go over a bit what's there

nikomatsakis (Jan 14 2019 at 19:35, on Zulip):

i.e., this would not try to figure out anything new per se

nikomatsakis (Jan 14 2019 at 19:35, on Zulip):

just a "catch up"

nikomatsakis (Jan 14 2019 at 19:35, on Zulip):

and anybody can join that wants to

Sunjay Varma (Jan 14 2019 at 19:36, on Zulip):

Yes that works for me. I'll just write down all your thoughts. Then I can go consider it separately and we can meet again next week if needed. :)

nikomatsakis (Jan 14 2019 at 19:36, on Zulip):

I guess I would say the pre-reqs to read are also the RFC :)

nikomatsakis (Jan 14 2019 at 19:36, on Zulip):

and various blog posts

nikomatsakis (Jan 14 2019 at 19:36, on Zulip):

though I think at the level of detail we're at, the blog posts aren't needed

nikomatsakis (Jan 14 2019 at 19:36, on Zulip):

still, I can try to make a little list of links

Sunjay Varma (Jan 14 2019 at 19:36, on Zulip):

Yes that would be great

Sunjay Varma (Jan 14 2019 at 19:36, on Zulip):

Meet on Thursday then? That'll give me time to read

Sunjay Varma (Jan 14 2019 at 19:36, on Zulip):

Reading list in the doc?

nikomatsakis (Jan 14 2019 at 19:37, on Zulip):

Not sure where Thursday came from but that can work for me. Let's move this scheduling to a new topic.

nikomatsakis (Jan 14 2019 at 19:38, on Zulip):

OK, so that's a concrete thing

nikomatsakis (Jan 14 2019 at 19:39, on Zulip):

Next up: @tmandry I am arbitrarily nominating you to carry on the "salsa-ification" work

nikomatsakis (Jan 14 2019 at 19:39, on Zulip):

how do you feel about that :P

nikomatsakis (Jan 14 2019 at 19:39, on Zulip):

alternatively, we could wait on that until we talk over more of the specialization design

nikomatsakis (Jan 14 2019 at 19:40, on Zulip):

Also, @Keith Yeung, clause selection? Perhaps I'll chat with you in a separate topic about that.. (done)

nikomatsakis (Jan 14 2019 at 19:44, on Zulip):

@scalexm do you plan to produce a writeup of some kind of the trait objects?

nikomatsakis (Jan 14 2019 at 19:45, on Zulip):

I'm trying to kind of collapse the things we aim to do this week

tmandry (Jan 14 2019 at 19:52, on Zulip):

@nikomatsakis sorry had to step out for a bit

nikomatsakis (Jan 14 2019 at 19:53, on Zulip):

no worries

nikomatsakis (Jan 14 2019 at 19:53, on Zulip):

Here is a link to a section of goals

tmandry (Jan 14 2019 at 19:53, on Zulip):

I'd be happy to work on salsa-ification

nikomatsakis (Jan 14 2019 at 19:53, on Zulip):

great

nikomatsakis (Jan 14 2019 at 19:53, on Zulip):

I'm trying to remember if my PR was mergable as is

nikomatsakis (Jan 14 2019 at 19:53, on Zulip):

I guess as you said first step is to open and issue and spell out some steps? :)

nikomatsakis (Jan 14 2019 at 19:53, on Zulip):

we had a topic, we can take it there I guess

tmandry (Jan 14 2019 at 19:53, on Zulip):

yep

scalexm (Jan 14 2019 at 19:55, on Zulip):

@nikomatsakis I’ll probably write this write up on a chalk issue

scalexm (Jan 14 2019 at 19:55, on Zulip):

Or if you think somewhere else is better that’s fine

nikomatsakis (Jan 14 2019 at 19:56, on Zulip):

chalk issue seems fine

nikomatsakis (Jan 14 2019 at 19:57, on Zulip):

Regarding technical discussion, I propose this:

we use this same slot, but we alternate between "general triage" and "technical deep dive"

nikomatsakis (Jan 14 2019 at 19:58, on Zulip):

This week was the former, so next week can be deep dive

nikomatsakis (Jan 14 2019 at 19:58, on Zulip):

Trait objects works for me, else I'll try to produce something about lifetimes

nikomatsakis (Jan 14 2019 at 19:58, on Zulip):

Thoughts? We can chat on Zulip probably

Sunjay Varma (Jan 14 2019 at 20:01, on Zulip):

Sounds good! Thanks for organizing all of this Niko! :smiley:

Last update: Nov 12 2019 at 16:20UTC