Stream: wg-traits

Topic: meeting 2019-04-22


nikomatsakis (Apr 22 2019 at 18:06, on Zulip):

Hey @WG-traits -- shall we do a quick sync meeting?

nikomatsakis (Apr 22 2019 at 18:06, on Zulip):

So, today, we had a first call covering the chalk-engine crate

Alexander Regueiro (Apr 22 2019 at 18:06, on Zulip):

Okay

Alexander Regueiro (Apr 22 2019 at 18:06, on Zulip):

Hi

nikomatsakis (Apr 22 2019 at 18:06, on Zulip):

(I'll hopefully post the video soon)

nikomatsakis (Apr 22 2019 at 18:06, on Zulip):

:wave:

detrumi (Apr 22 2019 at 18:08, on Zulip):

The call was great btw, time flew by

nikomatsakis (Apr 22 2019 at 18:10, on Zulip):

Sorry, got distracted locally, but I'm back now =) Here is our sprint paper document

nikomatsakis (Apr 22 2019 at 18:10, on Zulip):

(er, that link was broken, but fixed it)

nikomatsakis (Apr 22 2019 at 18:11, on Zulip):

Let's walk down the various goals a bit I guess

Sunjay Varma (Apr 22 2019 at 18:11, on Zulip):

1 more week! :tada:

nikomatsakis (Apr 22 2019 at 18:11, on Zulip):

Although I think maybe some reorg might be in order

Sunjay Varma (Apr 22 2019 at 18:11, on Zulip):

(1 week left in the sprint, that is)

nikomatsakis (Apr 22 2019 at 18:12, on Zulip):

In terms of the first goal, chalk-rustc integration, I think that our main focus has been on trying to tackle some of the "bigger questions", most notably how to handle built-in bounds --

nikomatsakis (Apr 22 2019 at 18:12, on Zulip):

we haven't really gotten to that goal :) but I think the chalk-engine discussion etc is good background

nikomatsakis (Apr 22 2019 at 18:12, on Zulip):

so we'll count that =)

tmandry (Apr 22 2019 at 18:13, on Zulip):

I'll be making a PR for Copy/Clone soon

tmandry (Apr 22 2019 at 18:13, on Zulip):

just needs a test

nikomatsakis (Apr 22 2019 at 18:13, on Zulip):

ah, nice

centril (Apr 22 2019 at 18:13, on Zulip):

quick notes: I've made no progress on HRTBs & generic closures;

@Alexander Regueiro lost Aaron as a reviewer so we need a new one

centril (Apr 22 2019 at 18:13, on Zulip):

@tmandry maybe game for that?

nikomatsakis (Apr 22 2019 at 18:13, on Zulip):

Oh, one other bit of context, I had originally hoped that @Aaron Turon would be participating more but it turns out that at least for the next little while he won't have enough time for that (maybe a bit later)

tmandry (Apr 22 2019 at 18:13, on Zulip):

I don't know if we ever enumerated what all the bits are for builtin stuff

nikomatsakis (Apr 22 2019 at 18:13, on Zulip):

well, we didn't really

nikomatsakis (Apr 22 2019 at 18:14, on Zulip):

I think our goal was that we would start by doing some kind of concrete progress on the code

nikomatsakis (Apr 22 2019 at 18:14, on Zulip):

and then we would talk about the bigger questions of (e.g.) how should we handle it when we have a goal like ?T: Sized

nikomatsakis (Apr 22 2019 at 18:14, on Zulip):

anyway, let's come back to that, let's look at the rest of the doc for a bit

tmandry (Apr 22 2019 at 18:15, on Zulip):

tmandry maybe game for that?

if @nikomatsakis can mentor me through the review I can take a look

centril (Apr 22 2019 at 18:15, on Zulip):

@tmandry @nikomatsakis alright; assigning you both then :slight_smile:

nikomatsakis (Apr 22 2019 at 18:16, on Zulip):

So the next section was "Focus: exploring chalk integration “future steps”

nikomatsakis (Apr 22 2019 at 18:16, on Zulip):

@detrumi has been doing great work on the chalk crate structure

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

I think the follow ups once https://github.com/rust-lang/chalk/issues/214 is done (which looks to be almost the case), is to start exploring the query structure we need for chalk, and also to push a bit more with RLS integration

nikomatsakis (Apr 22 2019 at 18:18, on Zulip):

Let's come back to the details of that too, I guess, next heading is:

# Focus: associated type bounds

nikomatsakis (Apr 22 2019 at 18:18, on Zulip):

sounds like @tmandry and I will do some reviewing there? cc @Alexander Regueiro for update :)

centril (Apr 22 2019 at 18:18, on Zulip):

already dealt with it

nikomatsakis (Apr 22 2019 at 18:18, on Zulip):

oh, did the work land?

Alexander Regueiro (Apr 22 2019 at 18:18, on Zulip):

cool, thanks @tmandry

centril (Apr 22 2019 at 18:19, on Zulip):

@nikomatsakis no, I mean we already dealt with that part of the sprint doc :D

Alexander Regueiro (Apr 22 2019 at 18:19, on Zulip):

(I guess you saw my suggestion on GH? hope I'm not putting an extra burden on you heh)

nikomatsakis (Apr 22 2019 at 18:19, on Zulip):

ah, ok :)

centril (Apr 22 2019 at 18:19, on Zulip):

Focus: RFCs for HRTBs & generic closures

I left a note (no progress yet...)

Alexander Regueiro (Apr 22 2019 at 18:19, on Zulip):

I have been very busy lately. not much time for compiler dev. but getting back to maybe bounds in my trait alias PR soon btw... I guess that's somewhat trait-related.

centril (Apr 22 2019 at 18:19, on Zulip):

definitely is

centril (Apr 22 2019 at 18:20, on Zulip):

@nikomatsakis @Alexander Regueiro Do we want to move upcasting onto the sprint or wait (until the "next" one)?

nikomatsakis (Apr 22 2019 at 18:20, on Zulip):

Seems like we might as well add it

nikomatsakis (Apr 22 2019 at 18:20, on Zulip):

if there is active work happening

Alexander Regueiro (Apr 22 2019 at 18:20, on Zulip):

I will hopefully start working on it today or tomorrow

Alexander Regueiro (Apr 22 2019 at 18:20, on Zulip):

nothing so far sorry

nikomatsakis (Apr 22 2019 at 18:20, on Zulip):

I also just added another heading (implied bounds)

nikomatsakis (Apr 22 2019 at 18:20, on Zulip):

nothing so far sorry

you're doing plenty :P

nikomatsakis (Apr 22 2019 at 18:20, on Zulip):

what should we add there?

nikomatsakis (Apr 22 2019 at 18:20, on Zulip):

in terms of "upcasting"

centril (Apr 22 2019 at 18:21, on Zulip):

@Alexander Regueiro Nice work; but don't stretch yourself too thin :slight_smile:

Alexander Regueiro (Apr 22 2019 at 18:21, on Zulip):

okay, cheers :-)

nikomatsakis (Apr 22 2019 at 18:21, on Zulip):

We should probably discuss trait upcasting a bit separately -- I'm tempted to say it could be a WG of its own. It might be an area where we could e.g. use another person to help draft up a design doc etc

Alexander Regueiro (Apr 22 2019 at 18:22, on Zulip):

yep... I forget who we proposed could help with design?

Alexander Regueiro (Apr 22 2019 at 18:22, on Zulip):

or maybe no one yet

centril (Apr 22 2019 at 18:22, on Zulip):

I was probably going to do that but it seems I have too much to do atm

nikomatsakis (Apr 22 2019 at 18:22, on Zulip):

let's discuss that when we have broader planning towads end of sprint

nikomatsakis (Apr 22 2019 at 18:22, on Zulip):

I was probably going to do that but it seems I have too much to do atm

there are some people starting to show up in response to my recent blog post

Alexander Regueiro (Apr 22 2019 at 18:22, on Zulip):

yeah, let's not heap something new onto centril's plate if we can avoid it heh

nikomatsakis (Apr 22 2019 at 18:22, on Zulip):

we should think about how to "recruit" and what skills we want

Alexander Regueiro (Apr 22 2019 at 18:22, on Zulip):

I was probably going to do that but it seems I have too much to do atm

there are some people starting to show up in response to my recent blog post

cool. got a link?

centril (Apr 22 2019 at 18:23, on Zulip):

@nikomatsakis also, by "design doc" do you mean for impl or an RFC?

centril (Apr 22 2019 at 18:23, on Zulip):

(I assumed the latter)

Alexander Regueiro (Apr 22 2019 at 18:23, on Zulip):

yeah I think so

Alexander Regueiro (Apr 22 2019 at 18:23, on Zulip):

RFC draft at least

nikomatsakis (Apr 22 2019 at 18:24, on Zulip):

I think I meant both

nikomatsakis (Apr 22 2019 at 18:24, on Zulip):

:)

Alexander Regueiro (Apr 22 2019 at 18:24, on Zulip):

I've got rough notes on impl from eddyb and niko

Alexander Regueiro (Apr 22 2019 at 18:24, on Zulip):

but only rough

nikomatsakis (Apr 22 2019 at 18:24, on Zulip):

I think that there should be a chapter in rustc-guide that describes how things work

nikomatsakis (Apr 22 2019 at 18:24, on Zulip):

that chapter can begin life in an rFC

Alexander Regueiro (Apr 22 2019 at 18:24, on Zulip):

enough for me to get going on coding, but yeah

nikomatsakis (Apr 22 2019 at 18:24, on Zulip):

cool. got a link?

e.g., check out the #new members section

centril (Apr 22 2019 at 18:24, on Zulip):

@nikomatsakis and the reference ;)

nikomatsakis (Apr 22 2019 at 18:25, on Zulip):

depends on what details we're talking about, but yeah

nikomatsakis (Apr 22 2019 at 18:25, on Zulip):

so

# implied bounds

nikomatsakis (Apr 22 2019 at 18:25, on Zulip):

I bring this up for two reasons

nikomatsakis (Apr 22 2019 at 18:25, on Zulip):

but one of them is that @scalexm mentioned that they have some free time this week :)

centril (Apr 22 2019 at 18:25, on Zulip):

sure; I'm still inclined to run this inside wg-traits cause it doesn't seem so big; and iterate on design docs in that repo

nikomatsakis (Apr 22 2019 at 18:25, on Zulip):

seems fine

centril (Apr 22 2019 at 18:25, on Zulip):

(I'm really looking forward to some collaborative RFC writing!)

nikomatsakis (Apr 22 2019 at 18:26, on Zulip):

my feeling is that there are a number of things "around" implied bounds that it would be good to have more discussion of

nikomatsakis (Apr 22 2019 at 18:26, on Zulip):

first off, we could probably start by just explaining how the current chalk lowering rules work, as they effectively implement implied bounds

centril (Apr 22 2019 at 18:26, on Zulip):

hmm; not sure why we are focusing on implied bounds... does it unblock anything?

nikomatsakis (Apr 22 2019 at 18:27, on Zulip):

this is basically explaining what this Implemented(X: TraitRef) stuff means and why it is this way

centril (Apr 22 2019 at 18:28, on Zulip):

(I mean... if @scalexm enjoys working on that, far be it from me to say otherwise ^^)

detrumi (Apr 22 2019 at 18:28, on Zulip):

but one of them is that scalexm mentioned that they have some free time this week :slight_smile:

So what's the other reason?

nikomatsakis (Apr 22 2019 at 18:29, on Zulip):

I'm trying to figure out how to write them out :)

nikomatsakis (Apr 22 2019 at 18:30, on Zulip):

I think part of it is that I want to have a good, widespread understanding of the way that the lowering rules are setup, and when I say 'implied bounds' I sort of mean more explain why chalk lowering are setup the way they are and perhaps also do some bike-shedding to pick the best names for some of the concepts involved

nikomatsakis (Apr 22 2019 at 18:30, on Zulip):

I also feel like they intersect somewhat heavily the matter of how to deal with dyn Trait types in chalk

nikomatsakis (Apr 22 2019 at 18:31, on Zulip):

But I dont' know how urgent it is

nikomatsakis (Apr 22 2019 at 18:31, on Zulip):

actually @scalexm

nikomatsakis (Apr 22 2019 at 18:31, on Zulip):

if you have some free time this week

nikomatsakis (Apr 22 2019 at 18:31, on Zulip):

maybe the best thing for us to do with it :) (presuming I Get to steal it)

nikomatsakis (Apr 22 2019 at 18:31, on Zulip):

is to really dig into the "high-level picture" of the work to be done

centril (Apr 22 2019 at 18:31, on Zulip):

@nikomatsakis Another point is type Assoc: Foo<Assoc2: Bar>; -- ATBs get implemented for real only with implied bounds (or with other hacks)

nikomatsakis (Apr 22 2019 at 18:31, on Zulip):

I think trying to map this out and have a good "roadmap" of it (which we can refer back to as we plan sprints etc) has been the biggest challenge

centril (Apr 22 2019 at 18:32, on Zulip):

and we didn't do "the other hacks" for now

nikomatsakis (Apr 22 2019 at 18:33, on Zulip):

@scalexm if it would work for you, I'd be game to try and schedule e.g. 2 or 3 sync Zulip chats this week (or calls, if we think that's better)

scalexm (Apr 22 2019 at 18:33, on Zulip):

@nikomatsakis that could work

nikomatsakis (Apr 22 2019 at 18:34, on Zulip):

ok, so let's add an item of "roadmap planning" and then do the scheduling in another topic

nikomatsakis (Apr 22 2019 at 18:35, on Zulip):

ok, anything more to add before we end the meeting? (we're at time anywaY)

centril (Apr 22 2019 at 18:36, on Zulip):

Not to my knowledge; :wave:

Last update: Nov 18 2019 at 02:00UTC