Stream: t-compiler/wg-nll

Topic: weekly meeting December 12


pnkfelix (Dec 12 2018 at 13:29, on Zulip):

FYI @WG-compiler-nll I might not be available this evening to host the meeting. I think I will be, but its not 100% certain.

nikomatsakis (Dec 12 2018 at 18:13, on Zulip):

I think I will be around

nikomatsakis (Dec 12 2018 at 18:13, on Zulip):

still in some kind of "recovery tailspin" of doing reviews and catch up but that's ok

pnkfelix (Dec 12 2018 at 20:18, on Zulip):

I should be able to make it

pnkfelix (Dec 12 2018 at 20:18, on Zulip):

Haven't done any premeeting triage yet though (!)

nikomatsakis (Dec 12 2018 at 20:24, on Zulip):

Yeah. I was thinking that one thing worth talking over is how to keep our focus and progress on soundness questions, and just how we should work those out with lang team

nikomatsakis (Dec 12 2018 at 20:24, on Zulip):

it feels like we're encountering a few "question marks"

pnkfelix (Dec 12 2018 at 20:24, on Zulip):

one potentially interesting question

pnkfelix (Dec 12 2018 at 20:24, on Zulip):

is whether migration mode

pnkfelix (Dec 12 2018 at 20:24, on Zulip):

lets us make new soundness fixes

pnkfelix (Dec 12 2018 at 20:25, on Zulip):

wait, no

pnkfelix (Dec 12 2018 at 20:25, on Zulip):

that's bonkers.

nikomatsakis (Dec 12 2018 at 20:25, on Zulip):

well e.g. the 2PB question

nikomatsakis (Dec 12 2018 at 20:25, on Zulip):

it seems like that's just the usual "soundness fix policy" though

pnkfelix (Dec 12 2018 at 20:25, on Zulip):

(migration-mode only lets us make "new soundness fixes" for cases where AST-borrowck was "erroneously" accepting the code)

pnkfelix (Dec 12 2018 at 20:26, on Zulip):

(but its still interesting to consider that this does provide some extra flexibility for NLL)

nikomatsakis (Dec 12 2018 at 20:26, on Zulip):

I feel like there is a bit of "de facto flexibility"

nikomatsakis (Dec 12 2018 at 20:26, on Zulip):

if nothing else

nikomatsakis (Dec 12 2018 at 20:26, on Zulip):

by this I mean: we're already in a kind of warning period

nikomatsakis (Dec 12 2018 at 20:27, on Zulip):

if we add some more things in there (e.g., the 2PB fixes)

pnkfelix (Dec 12 2018 at 20:27, on Zulip):

we certainly can always fall back on the old "soundness fix policy"

pnkfelix (Dec 12 2018 at 20:27, on Zulip):

but yes, I like to believe we've given ourselves a little bit of a runway here

nikomatsakis (Dec 12 2018 at 20:27, on Zulip):

I don't feel like it will "feel" like the same sort of breakage, and it makes some sense to me to "link" the hard error times

nikomatsakis (Dec 12 2018 at 20:27, on Zulip):

(but ultimately it's still really the soundness fix policy)

davidtwco (Dec 12 2018 at 20:29, on Zulip):

:wave:

pnkfelix (Dec 12 2018 at 20:31, on Zulip):

first thing I want to make sure I cover tonight

pnkfelix (Dec 12 2018 at 20:31, on Zulip):

#56391 is a PR that landed

pnkfelix (Dec 12 2018 at 20:31, on Zulip):

that turned off compare-mode=nll by default

pnkfelix (Dec 12 2018 at 20:31, on Zulip):

which is fine

pnkfelix (Dec 12 2018 at 20:31, on Zulip):

but all of us should be aware that this happened, and thus

pnkfelix (Dec 12 2018 at 20:31, on Zulip):

if you want to re-enable it, so that you get the same degree of testing that you had before

pnkfelix (Dec 12 2018 at 20:32, on Zulip):

switch the test-compare-mode option in config.toml to true

nikomatsakis (Dec 12 2018 at 20:32, on Zulip):

to be clear, we're still running it, but only on one builder, right?

pnkfelix (Dec 12 2018 at 20:32, on Zulip):

in your build directory for rust

nikomatsakis (Dec 12 2018 at 20:32, on Zulip):

i.e., bors still runs it

pnkfelix (Dec 12 2018 at 20:32, on Zulip):

Yes bors runs it

nikomatsakis (Dec 12 2018 at 20:32, on Zulip):

(though not in your local directory)

pnkfelix (Dec 12 2018 at 20:32, on Zulip):

but when you test locally

pnkfelix (Dec 12 2018 at 20:32, on Zulip):

and you don't toggle that option, you might overlook something

pnkfelix (Dec 12 2018 at 20:32, on Zulip):

(which the CI will hopefully then catch, as long as its not target dependent)

pnkfelix (Dec 12 2018 at 20:33, on Zulip):

if you have some test that you think deserves to be run on all targets, all the time

pnkfelix (Dec 12 2018 at 20:33, on Zulip):

then you can use // revisions

nikomatsakis (Dec 12 2018 at 20:34, on Zulip):

so how should we proceed?

pnkfelix (Dec 12 2018 at 20:35, on Zulip):

um

pnkfelix (Dec 12 2018 at 20:35, on Zulip):

well, I think there's only one nominated issue

pnkfelix (Dec 12 2018 at 20:35, on Zulip):

"should let _: T = RHS be synonymous with let _ = RHS: T?" #56715

pnkfelix (Dec 12 2018 at 20:35, on Zulip):

but I regard that really as more of a T-lang question

pnkfelix (Dec 12 2018 at 20:35, on Zulip):

than an NLL one

pnkfelix (Dec 12 2018 at 20:35, on Zulip):

its just an implementation artifact that NLL is what is tripping this thing up, IMO.

pnkfelix (Dec 12 2018 at 20:36, on Zulip):

beyond that

pnkfelix (Dec 12 2018 at 20:37, on Zulip):

I don't have much to add or talk about tonight

pnkfelix (Dec 12 2018 at 20:37, on Zulip):

niko did ask this earlier:

Yeah. I was thinking that one thing worth talking over is how to keep our focus and progress on soundness questions, and just how we should work those out with lang team

nikomatsakis (Dec 12 2018 at 20:37, on Zulip):

well one specific question

nikomatsakis (Dec 12 2018 at 20:38, on Zulip):

what is the status of #56254, the 2PB questions we discussed a week or two ago?

nikomatsakis (Dec 12 2018 at 20:38, on Zulip):

it seemed like the consensus then was that we should do a more careful impl job

nikomatsakis (Dec 12 2018 at 20:38, on Zulip):

I'm not really clear if @Matthew Jasper is working on that (they were before)..?

nikomatsakis (Dec 12 2018 at 20:38, on Zulip):

(there are some more comments on the issue though, e.g. josh tripplet discussing a desire to accept the code in question, which I partially share)

pnkfelix (Dec 12 2018 at 20:39, on Zulip):

I still haven't read Ralf's notes on the matter

pnkfelix (Dec 12 2018 at 20:40, on Zulip):

I think I can work on this

pnkfelix (Dec 12 2018 at 20:40, on Zulip):

or at least, it seems higher priority than anything I spent time on today

pnkfelix (Dec 12 2018 at 20:40, on Zulip):

/me adds self to assignee list for #56254

nikomatsakis (Dec 12 2018 at 20:40, on Zulip):

aturon and I were discussing how to manage the relationship between working groups and the lang team in general, since I'm not overly happy with it. We had a few ideas, which are probably not worth going into here just yet, at least not in a ton of detail. But one thing that seemed clear was that working groups should probably act independently but prepare thorny questions and try to schedule regular meetings to do an in-depth review (perhaps as part of lang team triage). I guess this is roughly what we've been doing.

nikomatsakis (Dec 12 2018 at 20:40, on Zulip):

but I wonder if we can formalize it mildly

pnkfelix (Dec 12 2018 at 20:41, on Zulip):

if nothing else

nikomatsakis (Dec 12 2018 at 20:41, on Zulip):

e.g., with some labels.

pnkfelix (Dec 12 2018 at 20:41, on Zulip):

the labelling system is haphazard

pnkfelix (Dec 12 2018 at 20:41, on Zulip):

because I-nominated

nikomatsakis (Dec 12 2018 at 20:41, on Zulip):

this seems related to the act of writing out an up-to-date spec

nikomatsakis (Dec 12 2018 at 20:41, on Zulip):

yes

pnkfelix (Dec 12 2018 at 20:41, on Zulip):

is interpreted based on which other teams are on the list

nikomatsakis (Dec 12 2018 at 20:41, on Zulip):

it's quite ambiguous

pnkfelix (Dec 12 2018 at 20:41, on Zulip):

maybe that's fine

pnkfelix (Dec 12 2018 at 20:41, on Zulip):

in the sense that, when you nominate something

pnkfelix (Dec 12 2018 at 20:41, on Zulip):

you really should write a comment

pnkfelix (Dec 12 2018 at 20:41, on Zulip):

saying which team(s) are targetted

nikomatsakis (Dec 12 2018 at 20:41, on Zulip):

this seems related to the act of writing out an up-to-date spec

I'm torn about this because some part of me wants to wait for polonius :P but really a lot of it is independent from that

pnkfelix (Dec 12 2018 at 20:42, on Zulip):

I'm sort of curious

pnkfelix (Dec 12 2018 at 20:42, on Zulip):

to hear what's been going on in polonius land

nikomatsakis (Dec 12 2018 at 20:42, on Zulip):

I wonder if it would in any way make sense to make a "NLL working group repository" to help with this sort of meta-management.

pnkfelix (Dec 12 2018 at 20:42, on Zulip):

because it sounded like there was much activity there recently?

nikomatsakis (Dec 12 2018 at 20:42, on Zulip):

I spent some time on it last week

nikomatsakis (Dec 12 2018 at 20:42, on Zulip):

and @lqd a bit I think

nikomatsakis (Dec 12 2018 at 20:42, on Zulip):

in part I was merging some of @lqd's work from long before :)

nikomatsakis (Dec 12 2018 at 20:43, on Zulip):

the tl;dr of what I did:

nikomatsakis (Dec 12 2018 at 20:44, on Zulip):

I did find some NLL bugs at the same time

nikomatsakis (Dec 12 2018 at 20:44, on Zulip):

(that don't affect migration mode)

nikomatsakis (Dec 12 2018 at 20:44, on Zulip):

I forget if I filed bugs on those, I should

nikomatsakis (Dec 12 2018 at 20:44, on Zulip):

specifically these tests all pass with NLL but I don't think they should:

though I don't remember what's up with that, it might just be user type annotations being ignored or something.

nikomatsakis (Dec 12 2018 at 20:45, on Zulip):

(they fail with migration mode though)

nikomatsakis (Dec 12 2018 at 20:45, on Zulip):

at least some of them were related to unreachable code, but even when I made the code reachable, the tests still passed.

nikomatsakis (Dec 12 2018 at 20:46, on Zulip):

(Looking at one test, this may be due to us missing some WF obligations, I think @davidtwco noticed that we weren't always enforcing them on all paths, maybe that's the problem.)

pnkfelix (Dec 12 2018 at 20:46, on Zulip):

i vaguely remember you talking about them, but we should definitely ensure there are issues filed...

nikomatsakis (Dec 12 2018 at 20:46, on Zulip):

anyway, I mostly did this because it was fun and I was at all hands and it was hard to dig into much else

nikomatsakis (Dec 12 2018 at 20:46, on Zulip):

though I do think it's a good idea to start making progress on polonius

nikomatsakis (Dec 12 2018 at 20:47, on Zulip):

(I'll add a to do list item to file issues)

davidtwco (Dec 12 2018 at 20:47, on Zulip):

I recognize those tests as ones I've changed in my WIP PRs or recent ones.

nikomatsakis (Dec 12 2018 at 20:48, on Zulip):

makes sense

nikomatsakis (Dec 12 2018 at 20:48, on Zulip):

so @pnkfelix re: 2PB, if you plan to hack on that, I guess one thing we ought to do (perhaps not in this meeting per se) is try to make up some sort of plan :)

nikomatsakis (Dec 12 2018 at 20:49, on Zulip):

(I feel like we had some notes on one I've just kind of forgotten what it was)

pnkfelix (Dec 12 2018 at 20:49, on Zulip):

yeah okay

pnkfelix (Dec 12 2018 at 20:50, on Zulip):

my first step is going to be to read the stuff Ralf has written

pnkfelix (Dec 12 2018 at 20:50, on Zulip):

but sure, plans are good.

nikomatsakis (Dec 12 2018 at 20:51, on Zulip):

what should I do with what's left of this week?

nikomatsakis (Dec 12 2018 at 20:51, on Zulip):

i guess I should check what's assigned to me...

nikomatsakis (Dec 12 2018 at 20:53, on Zulip):

I see two bugs assigned to @davidtwco :

nikomatsakis (Dec 12 2018 at 20:53, on Zulip):

how are you feeling about those, @davidtwco? maybe one task might be to fix one of those, or perhaps leave some notes / thoughts?

davidtwco (Dec 12 2018 at 20:54, on Zulip):

Fixes for both are included in the other type annotation branch already.

nikomatsakis (Dec 12 2018 at 20:54, on Zulip):

do you mean #54943?

pnkfelix (Dec 12 2018 at 20:55, on Zulip):

PR #55937 i think

nikomatsakis (Dec 12 2018 at 20:55, on Zulip):

I see, ok, awesome

davidtwco (Dec 12 2018 at 20:55, on Zulip):

Yeah. I just added it to that issue's fix. They might not be the approach you want so I'd be happy to change them.

davidtwco (Dec 12 2018 at 20:55, on Zulip):

There is a commit for each of them separate from the rest.

davidtwco (Dec 12 2018 at 20:55, on Zulip):

Only non-ICE/blocked-ish issue I have assigned is #46589

davidtwco (Dec 12 2018 at 20:56, on Zulip):

(w/r/t NLL at least)

nikomatsakis (Dec 12 2018 at 20:56, on Zulip):

ok, then, it seems sort of like NLL-sound is ... largely under control modulo the 2PB ? I have two issues assigned to me but I think they are fairly low priority

pnkfelix (Dec 12 2018 at 20:57, on Zulip):

yeah, and my current thinking is that #55748 can probably be just closed

nikomatsakis (Dec 12 2018 at 20:57, on Zulip):

because we can't find a bug there?

pnkfelix (Dec 12 2018 at 20:57, on Zulip):

because everything I've done seems to indicate to me that the hypothetical problem doesn't arise, at least not due to _ on its own...

nikomatsakis (Dec 12 2018 at 20:58, on Zulip):

so there are an awful lot of A-nll bugs

nikomatsakis (Dec 12 2018 at 20:58, on Zulip):

I wonder if we want to have some sort of separate triage process somehow...? or at least a 1-time pass over them or .. something?

davidtwco (Dec 12 2018 at 20:58, on Zulip):

Lots of diagnostic ones in there I think.

pnkfelix (Dec 12 2018 at 20:58, on Zulip):

wow you are right

nikomatsakis (Dec 12 2018 at 20:58, on Zulip):

I am reminded of the old triage meeting that brson used to lead

davidtwco (Dec 12 2018 at 20:58, on Zulip):

I've been looking through them every so often to try find new things to take on.

nikomatsakis (Dec 12 2018 at 20:58, on Zulip):

which I sometimes miss

pnkfelix (Dec 12 2018 at 20:59, on Zulip):

we've got to re-triage the NLL-deferred stuff

nikomatsakis (Dec 12 2018 at 20:59, on Zulip):

yeah, at least that

pnkfelix (Dec 12 2018 at 20:59, on Zulip):

that might be an additional good task for me for this week

nikomatsakis (Dec 12 2018 at 20:59, on Zulip):

if you want to do it at some convenient time, I'd be happy to follow along

pnkfelix (Dec 12 2018 at 21:00, on Zulip):

I'll make a dedicated topic for it if nothing else.

nikomatsakis (Dec 12 2018 at 21:00, on Zulip):

though that time might be hard to find, not sure =) yeah, at least that

pnkfelix (Dec 12 2018 at 21:00, on Zulip):

(and I'll open an issue for the task right now, to keep myself honest about my promises here)

davidtwco (Dec 12 2018 at 21:00, on Zulip):

(also, I wrote some mentor instructions on two issues this past week, and on one issue a few weeks ago, in case either of you want to check that the instructions are suitable - issue from a few weeks ago already had a PR that I reviewed and landed though)

nikomatsakis (Dec 12 2018 at 21:00, on Zulip):

nice!

nikomatsakis (Dec 12 2018 at 21:01, on Zulip):

ok well I imagine for the rest of this week i';m mostly going to be working through reviews anyway, but it sounds like it would not be totally unreasonable for me to put a bit more time into polonius then.

davidtwco (Dec 12 2018 at 21:01, on Zulip):

#56657 and #56654

pnkfelix (Dec 12 2018 at 21:03, on Zulip):

okay this all sounds great to me, everyone

pnkfelix (Dec 12 2018 at 21:03, on Zulip):

Now I must go to sleep

pnkfelix (Dec 12 2018 at 21:03, on Zulip):

Bye!

nikomatsakis (Dec 12 2018 at 21:03, on Zulip):

nighty night

pnkfelix (Dec 12 2018 at 21:03, on Zulip):

(newborn duty awaits in ~4 or ~5 hours)

davidtwco (Dec 12 2018 at 21:03, on Zulip):

I wonder what we need to do to make Zulip consider the wave emoji a popular one.

nikomatsakis (Dec 12 2018 at 21:03, on Zulip):

might be configurable

nikomatsakis (Dec 12 2018 at 21:04, on Zulip):

(not obviously)

Matthew Jasper (Dec 12 2018 at 21:17, on Zulip):

I'm not really clear if @Matthew Jasper is working on that (they were before)..?

I'm not working on 2 PB currently. I'm waiting for there to be a decision on what we want to do about this.

Keith Yeung (Dec 12 2018 at 21:19, on Zulip):

open for working on some NLL bugs here

Keith Yeung (Dec 12 2018 at 21:20, on Zulip):

perhaps i'll look up @davidtwco's issues

davidtwco (Dec 12 2018 at 21:21, on Zulip):

I linked them above, #56654 is free.

Keith Yeung (Dec 12 2018 at 21:23, on Zulip):

should we also have a discussion of how we're going to split up borrow_check/mod.rs?

Keith Yeung (Dec 12 2018 at 21:23, on Zulip):

that file is getting unwieldy

Keith Yeung (Dec 12 2018 at 21:26, on Zulip):

i see a few obvious logical "separations": the two impl blocks for MirBorrowckCtxt

Last update: Nov 21 2019 at 13:55UTC