Stream: wg-traits

Topic: weekly meeting 2018-10-15


nikomatsakis (Oct 15 2018 at 17:37, on Zulip):

BTW I've been spending time this morning trying to open up issues (and listing them in the dropbox paper)

nikomatsakis (Oct 15 2018 at 18:03, on Zulip):

:wave:

nikomatsakis (Oct 15 2018 at 18:03, on Zulip):

I guess I should make an alias for "folks who want to be pinged"

scalexm (Oct 15 2018 at 18:04, on Zulip):

:wave:

nikomatsakis (Oct 15 2018 at 18:04, on Zulip):

cc @scalexm @tmandry @Sunjay Varma @Diogo Sousa @Alexander Regueiro @uberjay

nikomatsakis (Oct 15 2018 at 18:04, on Zulip):

those are people from last meeting, anyway. I'll make a wg-traits alias for that and add people (or remove!) as desired

nikomatsakis (Oct 15 2018 at 18:06, on Zulip):

OK, there is now a @WG-compiler-traits

nikomatsakis (Oct 15 2018 at 18:06, on Zulip):

please tell me if you want on/off the list

memoryruins (Oct 15 2018 at 18:07, on Zulip):

I would like to be included in the list :)

Alexander Regueiro (Oct 15 2018 at 18:07, on Zulip):

@nikomatsakis thanks

Alexander Regueiro (Oct 15 2018 at 18:08, on Zulip):

@nikomatsakis I've been working on trait aliases lately btw... let me know if you have a minute to discuss some things about trait alias candidate assembly

nikomatsakis (Oct 15 2018 at 18:08, on Zulip):

ok.

nikomatsakis (Oct 15 2018 at 18:08, on Zulip):

So, general structure for these meetings:

nikomatsakis (Oct 15 2018 at 18:09, on Zulip):

if you have anything to "announce", feel free to add it to the planning doc -- e.g., @Alexander Regueiro, you might drop a note in there and/or pointer to branch etc

Alexander Regueiro (Oct 15 2018 at 18:09, on Zulip):

sure

nikomatsakis (Oct 15 2018 at 18:09, on Zulip):

from there I guess we can adlib it, but ideally we'll set some priorities for next week or two

nikomatsakis (Oct 15 2018 at 18:09, on Zulip):

As of last week, I spent some time trying to create some integration issues for people to get their feet wet

nikomatsakis (Oct 15 2018 at 18:10, on Zulip):

it occurs to me that there are probably relatively little "high-level docs" on how chalk, rustc, etc all fit together

Alexander Regueiro (Oct 15 2018 at 18:10, on Zulip):

yeah, there isn't. the rustc-guide is also very incomplete, or confusing in parts (though helpful in plenty still)

nikomatsakis (Oct 15 2018 at 18:10, on Zulip):

one thing I was wondering: would someone be interested in trying to write higher-level docs in rustc-guide about that? I was thinking we could schedule a live meeting (I can record it, too, so others can watch later) and kind of go ove the high-level outline

scalexm (Oct 15 2018 at 18:10, on Zulip):

@nikomatsakis for that matter I'm currently extending the rustc-guide

scalexm (Oct 15 2018 at 18:10, on Zulip):

and adding cross references to both rustc and chalk

nikomatsakis (Oct 15 2018 at 18:10, on Zulip):

I've always hoped to see rustc-guide getting written that way but never made it happen :)

nikomatsakis (Oct 15 2018 at 18:10, on Zulip):

might as well take another shot

nikomatsakis (Oct 15 2018 at 18:11, on Zulip):

ah, good to know

nikomatsakis (Oct 15 2018 at 18:11, on Zulip):

well maybe we'll wait on that

tmandry (Oct 15 2018 at 18:11, on Zulip):

I’d be interested in helping with that

memoryruins (Oct 15 2018 at 18:11, on Zulip):

the overview given in https://github.com/rust-lang-nursery/chalk/pull/175 helped

nikomatsakis (Oct 15 2018 at 18:14, on Zulip):

so take a look at this list of issues

nikomatsakis (Oct 15 2018 at 18:14, on Zulip):

ideally, we'd start getting them assigned to people :)

Alexander Regueiro (Oct 15 2018 at 18:14, on Zulip):

my knowledge of chalk is next to zero. I've mainly worked with the old system.

Alexander Regueiro (Oct 15 2018 at 18:15, on Zulip):

I think I'll wait until integration before I learn it properly

nikomatsakis (Oct 15 2018 at 18:15, on Zulip):

I think that https://github.com/rust-lang/rust/issues/55097 is a good one if you are already familiar-ish with that part of rustc

Alexander Regueiro (Oct 15 2018 at 18:15, on Zulip):

which will happen when roughly, may I ask?

nikomatsakis (Oct 15 2018 at 18:15, on Zulip):

in particular, with 'tcx, 'gcx, lifting

nikomatsakis (Oct 15 2018 at 18:15, on Zulip):

which will happen when roughly, may I ask?

you may ask :)

nikomatsakis (Oct 15 2018 at 18:15, on Zulip):

but don't expect a clear answer yet ;)

Alexander Regueiro (Oct 15 2018 at 18:15, on Zulip):

ha

Alexander Regueiro (Oct 15 2018 at 18:15, on Zulip):

very rough is okay. e.g. "by year end" (?)

nikomatsakis (Oct 15 2018 at 18:16, on Zulip):

that said, I am hoping we can get the very prelim integration going this year. But that just means "proof of concept", I'd say

nikomatsakis (Oct 15 2018 at 18:17, on Zulip):

https://github.com/rust-lang/rust/issues/55098 and https://github.com/rust-lang/rust/issues/55096 seem like they won't be that complex (both will involve getting familiar with some bits of the system, but then that's the point)

scalexm (Oct 15 2018 at 18:17, on Zulip):

@tmandry well I'm basically adding the missing stuff in the rustc-guide about implied bounds mainly, so not extremely high level actually

scalexm (Oct 15 2018 at 18:18, on Zulip):

@tmandry so if you or anyone else can help with the high level view that'd be cool :)

nikomatsakis (Oct 15 2018 at 18:18, on Zulip):

@tmandry if you want to work on higher-level rustc guide docs, I'd be psyched for it

tmandry (Oct 15 2018 at 18:19, on Zulip):

yeah we should talk about a possible outline

tmandry (Oct 15 2018 at 18:20, on Zulip):

at some point

nikomatsakis (Oct 15 2018 at 18:20, on Zulip):

ok, let's open an issue to track it

tmandry (Oct 15 2018 at 18:21, on Zulip):

this will be good for me to actually gain such a high-level understanding :)

tmandry (Oct 15 2018 at 18:21, on Zulip):

I can do that

nikomatsakis (Oct 15 2018 at 18:21, on Zulip):

created <https://github.com/rust-lang/rust/issues/55100>

nikomatsakis (Oct 15 2018 at 18:21, on Zulip):

and assigned to you @tmandry

nikomatsakis (Oct 15 2018 at 18:22, on Zulip):

we can schedule a time to chat off line I guess

nikomatsakis (Oct 15 2018 at 18:22, on Zulip):

@scalexm what is the status of bound-ty integration, and in particular relation to https://github.com/rust-lang/rust/pull/52984 ?

scalexm (Oct 15 2018 at 18:23, on Zulip):

@nikomatsakis currently I only added the new TyKind and fixed the matches everywhere

scalexm (Oct 15 2018 at 18:23, on Zulip):

I'm not sure how it relates to #52984 though

scalexm (Oct 15 2018 at 18:23, on Zulip):

in particular, I thought that we were keeping the Infer::CanonicalTy name

nikomatsakis (Oct 15 2018 at 18:23, on Zulip):

ok, I would think that canonical types could use BoundTy

nikomatsakis (Oct 15 2018 at 18:24, on Zulip):

hmm

nikomatsakis (Oct 15 2018 at 18:24, on Zulip):

maybe we said that, although I don't know why we would do it...I guess just to avoid need for debruijn index juggling?

nikomatsakis (Oct 15 2018 at 18:24, on Zulip):

it "feels" to me like types in canonical values are "bound" (and could re-use the same replace_late_bound methods as other things)

scalexm (Oct 15 2018 at 18:25, on Zulip):

well

nikomatsakis (Oct 15 2018 at 18:25, on Zulip):

that seems like what I was trying to describe in this comment

scalexm (Oct 15 2018 at 18:25, on Zulip):

I agree with that, but making a parallel with your chalk PR https://github.com/rust-lang-nursery/chalk/pull/178

scalexm (Oct 15 2018 at 18:26, on Zulip):

I was thinking that rustc's CanonicalTy was related to chalk's Ty::InferenceVar

scalexm (Oct 15 2018 at 18:26, on Zulip):

while rustc's BoundTy would be related to chalk's Ty::BoundVar

nikomatsakis (Oct 15 2018 at 18:26, on Zulip):

well, in Chalk we use Ty::BoundVar to represent references to the bound variables in a canonical

nikomatsakis (Oct 15 2018 at 18:27, on Zulip):

(but Ty::InferenceVar to represent them once they are instantiated?)

nikomatsakis (Oct 15 2018 at 18:27, on Zulip):

(also, dear me, I forgot that chalk PR had not landed yet)

nikomatsakis (Oct 15 2018 at 18:28, on Zulip):

(or am I confused?)

tmandry (Oct 15 2018 at 18:29, on Zulip):

(note to self: add traits glossary to rustc-guide :)

nikomatsakis (Oct 15 2018 at 18:32, on Zulip):

ok well it's a minor point, we can circle back to it

nikomatsakis (Oct 15 2018 at 18:33, on Zulip):

I guess that's enough with chalk for now — I'll review @scalexm's PR, people can take a look at those issues and indicate if they are interested (probably good to ask questions on Zulip), and we can circle back to some of these bound-ty and other questions here

nikomatsakis (Oct 15 2018 at 18:35, on Zulip):

@Alexander Regueiro did you want to talk about trait aliases now? (should we spin off a topic?)

memoryruins (Oct 15 2018 at 18:41, on Zulip):

oh nice, the lowering_error and lowering_success macros for tests in chalk are really clean with how it divides the program and error_msg sections

memoryruins (Oct 15 2018 at 18:49, on Zulip):

updated deps in https://github.com/rust-lang-nursery/chalk/pull/182

memoryruins (Oct 15 2018 at 18:49, on Zulip):

left some notes of what to expect for when the time comes to update ena (looked into it a bit, but seemed like it should be its own PR since UnificationStore expects a handful of methods)

Sunjay Varma (Oct 15 2018 at 18:58, on Zulip):

Hi, just catching up on the messages. I am available to help with high level docs too.

this will be good for me to actually gain such a high-level understanding :)

I definitely need this as well :)

Sunjay Varma (Oct 15 2018 at 18:59, on Zulip):

I commented in the issue: https://github.com/rust-lang/rust/issues/55100#issuecomment-429973924

Sunjay Varma (Oct 15 2018 at 18:59, on Zulip):

so you know I'm around

memoryruins (Oct 15 2018 at 19:06, on Zulip):

ah, i see the feature gates were already removed in niko’s pr (where all checks pass now)

nikomatsakis (Oct 15 2018 at 19:44, on Zulip):

I think I'll merge that PR

Last update: Nov 12 2019 at 17:10UTC