Stream: t-compiler/wg-nll

Topic: weekly meeting September 11


pnkfelix (Sep 11 2018 at 19:25, on Zulip):

just a heads up to @WG-compiler-nll that we'll be starting our 30min weekly meeting in about 5 minutes

pnkfelix (Sep 11 2018 at 19:25, on Zulip):

as usual, we'll take notes in the NLL Triage Paper

lqd (Sep 11 2018 at 19:29, on Zulip):

:wave:

pnkfelix (Sep 11 2018 at 19:30, on Zulip):

okay so things are looking pretty good

pnkfelix (Sep 11 2018 at 19:31, on Zulip):

thanks to a lot of hard work from all of you, we finally have pretty respectable performance numbers, at least with respect to execution time: https://perf.rust-lang.org/nll-dashboard.html

pnkfelix (Sep 11 2018 at 19:31, on Zulip):

as for memory usage ... well ... I think the consensus is that its good enough for now

pnkfelix (Sep 11 2018 at 19:32, on Zulip):

so I want to go through the nominated NLL issues

davidtwco (Sep 11 2018 at 19:32, on Zulip):

(when I click that, there's only one of them)

pnkfelix (Sep 11 2018 at 19:32, on Zulip):

hmm there's just one ... for some reason I thought @nikomatsakis had nominated more

lqd (Sep 11 2018 at 19:32, on Zulip):

same

davidtwco (Sep 11 2018 at 19:33, on Zulip):

This might be a short meeting then..

lqd (Sep 11 2018 at 19:33, on Zulip):

the quickest meeting of them all

pnkfelix (Sep 11 2018 at 19:33, on Zulip):

well nonetheless, lets discuss NLL allows creating variables that are immediately unusable. #53695

nikomatsakis (Sep 11 2018 at 19:33, on Zulip):

I thought I had :)

nikomatsakis (Sep 11 2018 at 19:33, on Zulip):

but we can also look at things that are not assigned

nikomatsakis (Sep 11 2018 at 19:33, on Zulip):

and then discuss "what's next" perhaps

pnkfelix (Sep 11 2018 at 19:33, on Zulip):

(there's still plenty to talk about, but lets take care of this first)

pnkfelix (Sep 11 2018 at 19:34, on Zulip):

So the main issue for #53695 is that we are vacillating back-and-forth about whether we need to fix this or not

nikomatsakis (Sep 11 2018 at 19:34, on Zulip):

(is @Matthew Jasper here?)

pnkfelix (Sep 11 2018 at 19:34, on Zulip):

but it seems quite possible that a small change, of adding fake reads as roughly described here, could fix this

Matthew Jasper (Sep 11 2018 at 19:35, on Zulip):

i'm here

davidtwco (Sep 11 2018 at 19:35, on Zulip):

I think it would be quite confusing or unintuitive if you were to run into this but it isn't doing anything wrong necessarily.

pnkfelix (Sep 11 2018 at 19:35, on Zulip):

and even if such a "fix" broke other things, it would be worthwhile to learn that

nikomatsakis (Sep 11 2018 at 19:36, on Zulip):

my take is that we ought to try the fix

pnkfelix (Sep 11 2018 at 19:36, on Zulip):

so we wanted to ask if anyone was interested in implementing the "fix"

pnkfelix (Sep 11 2018 at 19:36, on Zulip):

with the understanding that you should not start a yak shave of fixing every problem that it uncovers

nikomatsakis (Sep 11 2018 at 19:36, on Zulip):

(ps, @blitzerr, this might be a plausible thing for you)

nikomatsakis (Sep 11 2018 at 19:36, on Zulip):

not sure if they're around :) we'd been talking about trying to find a project

davidtwco (Sep 11 2018 at 19:37, on Zulip):

I'm currently working on #52534 (and prefer not to have a few issues in limbo so others have a chance to take them) but if it's something that needs done I can give it a shot.

pnkfelix (Sep 11 2018 at 19:37, on Zulip):

anyway, we don't need anyone to volunteer immediately; we know that some people cannot attend the meeting live

nikomatsakis (Sep 11 2018 at 19:37, on Zulip):

yeah, seems ok

pnkfelix (Sep 11 2018 at 19:37, on Zulip):

but I figure if anyone reading this discussion is interested, they can go ahead and post a comment on the issue saying that they would like to have a go at implementing it.

nikomatsakis (Sep 11 2018 at 19:38, on Zulip):

it's even good to have some decent starter issues we can shop around

pnkfelix (Sep 11 2018 at 19:38, on Zulip):

And meanwhile, either niko or myself will write up mentorship instructions on the issue

Santiago Pastorino (Sep 11 2018 at 19:38, on Zulip):

I saw you guys were mentioning me for an issue, couldn't read yet #making plans

nikomatsakis (Sep 11 2018 at 19:38, on Zulip):

that was a different one :)

Santiago Pastorino (Sep 11 2018 at 19:38, on Zulip):

count with me for whatever it's needed because I don't have tasks

Santiago Pastorino (Sep 11 2018 at 19:38, on Zulip):

ok :)

pnkfelix (Sep 11 2018 at 19:38, on Zulip):

(it might be a good idea for me to have a go at the mentorship-instructions, since niko does it so often and I should get some practice writing such instructions efficiently)

Santiago Pastorino (Sep 11 2018 at 19:38, on Zulip):

I've already assigned the other one to me :)

pnkfelix (Sep 11 2018 at 19:39, on Zulip):

anyway that's all I had to say about #53695

pnkfelix (Sep 11 2018 at 19:39, on Zulip):

/me goes off to skim the "making plans" topic to find out what else we were supposed to talk about

nikomatsakis (Sep 11 2018 at 19:39, on Zulip):

one thing I would like to talk about is https://github.com/rust-lang/rust/issues/47184

nikomatsakis (Sep 11 2018 at 19:39, on Zulip):

the type annotations PR

nikomatsakis (Sep 11 2018 at 19:40, on Zulip):

er, not the PR per se

nikomatsakis (Sep 11 2018 at 19:40, on Zulip):

but fixing the remaining points

davidtwco (Sep 11 2018 at 19:40, on Zulip):

(just a thought, would be curious to see what others think, but this might not be the place for it: I'm curious as to whether issues like #53695 which are experimental in that they might not pan out to a PR being landed are good starter issues because a new contributor might not feel like they've accomplished much if something doesn't land?)

nikomatsakis (Sep 11 2018 at 19:40, on Zulip):

I sketched out some plans — oh, I remember now that someone expressed in that.. @Keith Yeung I think?

nikomatsakis (Sep 11 2018 at 19:41, on Zulip):

(just a thought, would be curious to see what others think, but this might not be the place for it: I'm curious as to whether issues like #53695 which are experimental in that they might not pan out to a PR being landed are good starter issues because a new contributor might not feel like they've accomplished much if something doesn't land?)

interesting point...still, seems like if expectations are clear from the start, probably ok?

pnkfelix (Sep 11 2018 at 19:41, on Zulip):

@davidtwco yes that is definitely a potential concern. Probably better for someone with a few landed PR's under their belt to do this, just so the ego is a little more durable

nikomatsakis (Sep 11 2018 at 19:41, on Zulip):

I'm actually not sure just how easy it is — depends if we have the MIR statement we need or not —

nikomatsakis (Sep 11 2018 at 19:41, on Zulip):

if we do, it's just one line probably

pnkfelix (Sep 11 2018 at 19:42, on Zulip):

We might be able to adapt ReadForMatch for it

pnkfelix (Sep 11 2018 at 19:42, on Zulip):

i.e. alpha rename it to FakeRead(Place, Reason) or something.

Keith Yeung (Sep 11 2018 at 19:42, on Zulip):

@nikomatsakis yes, it was me

pnkfelix (Sep 11 2018 at 19:42, on Zulip):

or, hey, let is kind of just another kind of match ...

pnkfelix (Sep 11 2018 at 19:43, on Zulip):

so maybe ReadForMatch is the most sensible thing. :joking:

Matthew Jasper (Sep 11 2018 at 19:43, on Zulip):

ReadForMatch should be fine, unless we want a better name

pnkfelix (Sep 11 2018 at 19:43, on Zulip):

for experimentation purposes, ReadForMatch is probably perfect

nikomatsakis (Sep 11 2018 at 19:44, on Zulip):

yep

pnkfelix (Sep 11 2018 at 19:44, on Zulip):

@nikomatsakis you want to add more about #47184 ?

nikomatsakis (Sep 11 2018 at 19:44, on Zulip):

well, not necessarily, except to say that it might be a place where people can jump in

nikomatsakis (Sep 11 2018 at 19:44, on Zulip):

perhaps I can try to break it up into a few new issues

nikomatsakis (Sep 11 2018 at 19:44, on Zulip):

that are more detailed

lqd (Sep 11 2018 at 19:44, on Zulip):

if no one else wants it here (or outside contributors) I can try #53695 (but would need some mentoring instructions @pnkfelix sorry)

nikomatsakis (Sep 11 2018 at 19:44, on Zulip):

covering the remaining cases

nikomatsakis (Sep 11 2018 at 19:44, on Zulip):

they are getting few enough now I think that makes sense

pnkfelix (Sep 11 2018 at 19:45, on Zulip):

Speaking of issues that were not nominated but perhaps should have been: there is also some tasks related to reviewing the tests that were ported to ui.

pnkfelix (Sep 11 2018 at 19:45, on Zulip):

e.g. #53351

pnkfelix (Sep 11 2018 at 19:46, on Zulip):

I've assigned it to myself

pnkfelix (Sep 11 2018 at 19:46, on Zulip):

but I'd be happy to try to farm the work out, or let someone else do the initial review

nikomatsakis (Sep 11 2018 at 19:46, on Zulip):

let's look over the other milestone issues then I guess

pnkfelix (Sep 11 2018 at 19:46, on Zulip):

@nikomatsakis okay

pnkfelix (Sep 11 2018 at 19:47, on Zulip):

especially ones that are not assigned, yeah?

nikomatsakis (Sep 11 2018 at 19:47, on Zulip):

right

nikomatsakis (Sep 11 2018 at 19:47, on Zulip):

I'd probably be up to write some more detailed mentoring instructions for https://github.com/rust-lang/rust/issues/53773

nikomatsakis (Sep 11 2018 at 19:47, on Zulip):

or, more specifically, https://github.com/rust-lang/rust/issues/54015 — which I think subsumes that?

nikomatsakis (Sep 11 2018 at 19:48, on Zulip):

basically following the approach I laid out there

Keith Yeung (Sep 11 2018 at 19:48, on Zulip):

Is #47184 indeed suitable for people to work on?

nikomatsakis (Sep 11 2018 at 19:48, on Zulip):

@Keith Yeung I'll break out some subissues, but I think so — I think that — for the latest approach — the pieces are all there

nikomatsakis (Sep 11 2018 at 19:48, on Zulip):

but it's going to take some refactoring to get them setup for us to use them

nikomatsakis (Sep 11 2018 at 19:48, on Zulip):

but I can start by pointing out where they are :)

pnkfelix (Sep 11 2018 at 19:50, on Zulip):

if no one else wants it here (or outside contributors) I can try #53695 (but would need some mentoring instructions @pnkfelix sorry)

(I think @nikomatsakis added the mentoring instructions for the "one line" approach as a comment.)

lqd (Sep 11 2018 at 19:51, on Zulip):

(yeah I saw that, thanks @nikomatsakis)

nikomatsakis (Sep 11 2018 at 19:51, on Zulip):

yes, a very brief one, might use some elaboration

nikomatsakis (Sep 11 2018 at 19:51, on Zulip):

but maybe it's enough

nikomatsakis (Sep 11 2018 at 19:51, on Zulip):

@lqd should we assign you?

lqd (Sep 11 2018 at 19:51, on Zulip):

sure

nikomatsakis (Sep 11 2018 at 19:51, on Zulip):

done

nikomatsakis (Sep 11 2018 at 19:51, on Zulip):

here are the issues with no assignee

nikomatsakis (Sep 11 2018 at 19:52, on Zulip):

apart from #53773 and #54015 (previously mentioned), there are two more

nikomatsakis (Sep 11 2018 at 19:52, on Zulip):
nikomatsakis (Sep 11 2018 at 19:52, on Zulip):

both are diagnostic improvements targeting points of common user confusion

nikomatsakis (Sep 11 2018 at 19:52, on Zulip):

I guess both need mentoring instructions probably

pnkfelix (Sep 11 2018 at 19:53, on Zulip):

#53040 has a long discussion, but the actual code will be simple (I think...). The hard part is deciding what the text should be.

nikomatsakis (Sep 11 2018 at 19:53, on Zulip):

(ps does anyone see a reason that the approach I outlined in #54015 would not subsume #53773?)

nikomatsakis (Sep 11 2018 at 19:54, on Zulip):

#53040 has a long discussion, but the actual code will be simple (I think...). The hard part is deciding what the text should be.

ah yeah I forgot we still have to workshop that

Matthew Jasper (Sep 11 2018 at 19:54, on Zulip):

#54131 is similar I think (I guess there's also writing a good explain message)

nikomatsakis (Sep 11 2018 at 19:54, on Zulip):

I think #54131 is a bit easier

nikomatsakis (Sep 11 2018 at 19:54, on Zulip):

both in terms of what the msg should be

nikomatsakis (Sep 11 2018 at 19:54, on Zulip):

and in terms of when it should trigger

nikomatsakis (Sep 11 2018 at 19:55, on Zulip):

basically we already report that error in a fairly special way, but I think we can just deviate a bit more than we do

Matthew Jasper (Sep 11 2018 at 19:55, on Zulip):

Yes, probably

davidtwco (Sep 11 2018 at 19:55, on Zulip):

When you write &expr and expr is a "path" rooted in some variable (e.g., &foo.bar) but rather something that creates a new value (e.g., &foo()), a temporary will be created:

In this sentence from #54131 should it be "a path not rooted in some variable" or am I parsing that sentence wrong?

pnkfelix (Sep 11 2018 at 19:55, on Zulip):

In the five minutes we have remaining, do you want to say anything about plans for Polonius, @nikomatsakis ?

nikomatsakis (Sep 11 2018 at 19:56, on Zulip):

In this sentence from #54131 should it be "a path not rooted in some variable" or am I parsing that sentence wrong?

it's got a problem, should be "expr is not a path rooted in some variable"... kind of contorting myself not to say 'lvalue' there :)

nikomatsakis (Sep 11 2018 at 19:57, on Zulip):

In the five minutes we have remaining, do you want to say anything about plans for Polonius, @nikomatsakis ?

well, I guess the TL;DR is that it seems like we're getting close to the point where we should start thinking about Polonius again

nikomatsakis (Sep 11 2018 at 19:57, on Zulip):

I know there are like a bajillion pending PRs on the repo from @lqd

nikomatsakis (Sep 11 2018 at 19:57, on Zulip):

I was hoping this week to look over those

nikomatsakis (Sep 11 2018 at 19:57, on Zulip):

there are also some bugs in the polonius support in rustc

nikomatsakis (Sep 11 2018 at 19:58, on Zulip):

i.e., I know I broke some of the fact generating code :P

nikomatsakis (Sep 11 2018 at 19:58, on Zulip):

I'm not sure at what point it makes sense to shift our focus though

lqd (Sep 11 2018 at 19:58, on Zulip):

(and some I can't easily make yet until the others are merged (in datafrog's repo as well))

nikomatsakis (Sep 11 2018 at 19:58, on Zulip):

I am a bit worried about trying to sustain

nikomatsakis (Sep 11 2018 at 19:58, on Zulip):

focus on two things at once

Matthew Jasper (Sep 11 2018 at 19:58, on Zulip):

I don't think it ever reported errors in Rustc

nikomatsakis (Sep 11 2018 at 19:58, on Zulip):

that is, some part of me wants to wait until we sort of feel the Edition is "done"

nikomatsakis (Sep 11 2018 at 19:58, on Zulip):

which seems like we're not quite there

nikomatsakis (Sep 11 2018 at 19:59, on Zulip):

there is also this question about perf: how much more do we want to work to eke out perf...particularly if some of that work may not apply to polonius?

nikomatsakis (Sep 11 2018 at 19:59, on Zulip):

I think I am feeling kind of "ok" about it now, but maybe that's something we should "shop around" to a wider audience?

lqd (Sep 11 2018 at 19:59, on Zulip):

there seems to be a bunch of issues for the RC2 milestone, that it seems maybe better to look at it then ?

nikomatsakis (Sep 11 2018 at 19:59, on Zulip):

maybe the answer will come with how many people compalin about Rust 2018 RC etc

pnkfelix (Sep 11 2018 at 19:59, on Zulip):

I guess the thing I want to ask is this: Were any of you signing on to help with the expectation that you'd get to be focusing on Polonius, and thus we risk losing your assistance if we continue to delay Polonius work ?

davidtwco (Sep 11 2018 at 19:59, on Zulip):

@lqd I think it was the RC2 unassigned issues we were just looking at?

nikomatsakis (Sep 11 2018 at 19:59, on Zulip):

there seems to be a bunch of issues for the RC2 milestone, that it seems maybe better to look at it then ?

well, we did go over those that are not assigned yet

nikomatsakis (Sep 11 2018 at 19:59, on Zulip):

but yes we haven't closed them yet

nikomatsakis (Sep 11 2018 at 20:00, on Zulip):

that is, there are plenty of "not yet complete" issues

nikomatsakis (Sep 11 2018 at 20:00, on Zulip):

so maybe talk of polonius is still a bit premature

lqd (Sep 11 2018 at 20:00, on Zulip):

I mean, we want to do/fix those issues I assume ?

nikomatsakis (Sep 11 2018 at 20:00, on Zulip):

I guess the thing I want to ask is this: Were any of you signing on to help with the expectation that you'd get to be focusing on Polonius, and thus we risk losing your assistance if we continue to delay Polonius work ?

oh, interesting @pnkfelix

nikomatsakis (Sep 11 2018 at 20:00, on Zulip):

I mean, we want to do/fix those issues I assume ?

I think so, yes

pnkfelix (Sep 11 2018 at 20:01, on Zulip):

/me hates to ask questions like that, but burnout is a real thing

davidtwco (Sep 11 2018 at 20:02, on Zulip):

I think it's a fair question, I feel (anecdotally) that there was a slight surge of new blood around when Polonius was in full swing.

lqd (Sep 11 2018 at 20:02, on Zulip):

@pnkfelix playing around with Polonius' precursor is what personally drew me in, but no, you won't lose the little assistance I provide :p

nikomatsakis (Sep 11 2018 at 20:02, on Zulip):

I think it's a fair question, I feel (anecdotally) that there was a slight surge of new blood around when Polonius was in full swing.

it also overlapped iirc with RustFest

nikomatsakis (Sep 11 2018 at 20:02, on Zulip):

but yes

davidtwco (Sep 11 2018 at 20:02, on Zulip):

Ah yeah, that's right.

nikomatsakis (Sep 11 2018 at 20:02, on Zulip):

still, one thing I've learned from various attempts to run WG

pnkfelix (Sep 11 2018 at 20:02, on Zulip):

it also overlapped iirc with RustFest

quite true

nikomatsakis (Sep 11 2018 at 20:03, on Zulip):

is that they work so much better when you can devote yourself 100% to it

nikomatsakis (Sep 11 2018 at 20:03, on Zulip):

which is why I worry about trying to do work on polonius when there are other higher priority issues distracting us

nikomatsakis (Sep 11 2018 at 20:03, on Zulip):

(maybe 100% is not needed, but the point is, when you have enough time to really dig in)

nikomatsakis (Sep 11 2018 at 20:03, on Zulip):

I mean I feel bad that I haven't answered @davidtwco's questions about diagnostics very well yet ;)

davidtwco (Sep 11 2018 at 20:04, on Zulip):

I think a WG definitely needs someone at the helm that everyone knows they can ping for direction.

davidtwco (Sep 11 2018 at 20:04, on Zulip):

Which questions?

pnkfelix (Sep 11 2018 at 20:04, on Zulip):

okay, well, if anyone reading this (including async people) do feel like they fall into the bucket of "person who was hoping to do more Polonius hacking": please do reach out to either me or niko. I think we want to know.

davidtwco (Sep 11 2018 at 20:04, on Zulip):

Put my stuff at the bottom of the pile, if you don't answer quickly then I'll end up figuring it out myself through brute force.

nikomatsakis (Sep 11 2018 at 20:05, on Zulip):

ps I've been poking at https://github.com/rust-lang/rust/issues/53121

nikomatsakis (Sep 11 2018 at 20:05, on Zulip):

I guess I should put it in the paper

nikomatsakis (Sep 11 2018 at 20:05, on Zulip):

just a status update :)

lqd (Sep 11 2018 at 20:05, on Zulip):

which is why I worry about trying to do work on polonius when there are other higher priority issues distracting us

other NLL high priority issues or in general in the compiler/lang ?

nikomatsakis (Sep 11 2018 at 20:06, on Zulip):

kind of either way

nikomatsakis (Sep 11 2018 at 20:06, on Zulip):

mostly I meant: before, at least, I felt like it was hard for me to concentrate on polonius and the current NLL checker

nikomatsakis (Sep 11 2018 at 20:06, on Zulip):

my head wasn't big enough for both

nikomatsakis (Sep 11 2018 at 20:07, on Zulip):

I think I will feel better once we are down to just "minor diagnostic issues"

nikomatsakis (Sep 11 2018 at 20:07, on Zulip):

we still have a few soundness / complete things we really gotta finish off

lqd (Sep 11 2018 at 20:07, on Zulip):

we'll get there

nikomatsakis (Sep 11 2018 at 20:07, on Zulip):

basically, once we're down to things that need not block the release

pnkfelix (Sep 11 2018 at 20:08, on Zulip):

/me shrugs; he thinks we're basically there.

nikomatsakis (Sep 11 2018 at 20:08, on Zulip):

![image](https://media3.giphy.com/media/g8vuMIwLMTJEQ/giphy.gif)

pnkfelix (Sep 11 2018 at 20:08, on Zulip):

(thanks in part to some recent heroic last minute PR's)

nikomatsakis (Sep 11 2018 at 20:08, on Zulip):

maybe ![this one](https://media.giphy.com/media/4EcZXsqYMVydq/giphy.gif)

nikomatsakis (Sep 11 2018 at 20:09, on Zulip):

anyway

nikomatsakis (Sep 11 2018 at 20:09, on Zulip):

on that inspiring note, shall we call the meeting?

lqd (Sep 11 2018 at 20:09, on Zulip):

I was thinking people can hack on polonius even if 100% of the WG isn't right now (as I sometimes do), esp if it looks like some amount of at least thoughts or plans are in the books in just weeks

lqd (Sep 11 2018 at 20:10, on Zulip):

that is, it's not forgotten :)

lqd (Sep 11 2018 at 20:11, on Zulip):

good afternoon/evening everyone :)

nikomatsakis (Sep 11 2018 at 20:11, on Zulip):

seems good. Maybe we can just try it out :)

nikomatsakis (Sep 11 2018 at 20:12, on Zulip):

at minimum I want to see what the pending PRs are

pnkfelix (Sep 11 2018 at 20:12, on Zulip):

okay. I think that's a wrap for this "shorter" meeting. :)

nikomatsakis (Sep 11 2018 at 20:12, on Zulip):

and I'd kind of like to fix that dang bug :)

nikomatsakis (Sep 11 2018 at 20:12, on Zulip):

whatever it was...

lqd (Sep 11 2018 at 20:12, on Zulip):

there are tests for that bug

lqd (Sep 11 2018 at 20:13, on Zulip):

at least they'll remember what it was :)

Last update: Nov 21 2019 at 13:40UTC