Stream: t-compiler/wg-nll

Topic: making plans


nikomatsakis (Aug 27 2018 at 12:59, on Zulip):

@pnkfelix so I got about 30 minutes before I need to leave. I was planning on looking over the NLL stuff and trying to do some triage / get organized a bit.

nikomatsakis (Aug 27 2018 at 13:00, on Zulip):

PS if you get a chance to take a look at https://github.com/rust-lang/rust/pull/53314 it should be ready to go; https://github.com/rust-lang/rust/pull/53580 too

pnkfelix (Aug 27 2018 at 13:06, on Zulip):

okay I'll try to take care of those reviews right now

nikomatsakis (Aug 27 2018 at 13:08, on Zulip):

I'm currently reviewing the milestone issues

nikomatsakis (Aug 27 2018 at 13:08, on Zulip):

I'm going to bump https://github.com/rust-lang/rust/issues/53328 in priority — it's a perf optimization but I don't think it's targeting a known hotspot and I think that's not a key thing for the milestone right now. (And it may not even be a win, it's sort of an unknown.)

nikomatsakis (Aug 27 2018 at 13:30, on Zulip):

ok, I did a skim, there are still some "untriaged issues" but it seems like the milestone is actually in better shape than I thought. I nominated some things where the "correct way to fix" isn't obvious and plan to do some investigation today -- I think we also need to finish up the remaining cases of user-annotations (especially let _: T = ...).

nikomatsakis (Aug 27 2018 at 13:31, on Zulip):

gotta go for now

lqd (Aug 27 2018 at 17:08, on Zulip):

heads up: it looks like there’s a rebase problem on #53314

nikomatsakis (Aug 27 2018 at 17:42, on Zulip):

oh dear

nikomatsakis (Aug 27 2018 at 17:43, on Zulip):

/me rebases

memoryruins (Aug 28 2018 at 00:43, on Zulip):

mind if i tag any open PRs with A-nll? since there are usually multiple in the works simultaneously

memoryruins (Aug 28 2018 at 00:43, on Zulip):

doesnt looks like tags are used on PRs that much in general though

nikomatsakis (Aug 28 2018 at 09:47, on Zulip):

wedon't usually tag PRs, but doesn't hurt

nikomatsakis (Aug 28 2018 at 13:25, on Zulip):

@pnkfelix sorry I am late today

nikomatsakis (Aug 28 2018 at 13:25, on Zulip):

did you want to chat?

pnkfelix (Aug 28 2018 at 13:26, on Zulip):

that's okay, I'm occupied anyway

pnkfelix (Aug 28 2018 at 13:26, on Zulip):

but I suppose it wouldn't hurt to at least compare notes for tonight

pnkfelix (Aug 28 2018 at 13:27, on Zulip):

(lets try to minimize the # of mtgs where we discover halfway through that you and I had totally different objectives for some task. :) )

pnkfelix (Aug 28 2018 at 13:28, on Zulip):

we have 89 issues with no milestone assigned

pnkfelix (Aug 28 2018 at 13:28, on Zulip):

well let me cut out the ones that are NLL-deferred

pnkfelix (Aug 28 2018 at 13:29, on Zulip):

(we should look over those at some point, but not right now.)

pnkfelix (Aug 28 2018 at 13:31, on Zulip):

oh, I wrote "a-nll" in my search instead of "label:A-nll". Strange, why is that bringing up e.g. #53603

pnkfelix (Aug 28 2018 at 13:35, on Zulip):

anyway fixing that brings me down to 13 open un-milestones A-nll issues

pnkfelix (Aug 28 2018 at 13:36, on Zulip):

link

pnkfelix (Aug 28 2018 at 13:36, on Zulip):

ah, also need to filter out the NLL-fixed-by-NLL cases

pnkfelix (Aug 28 2018 at 13:36, on Zulip):

better link, gets us to four issues

pnkfelix (Aug 28 2018 at 13:37, on Zulip):

namely, #48643 #53603 #53606 and #53723

pnkfelix (Aug 28 2018 at 13:42, on Zulip):

@nikomatsakis I think we should tag #48643 as NLL-deferred. Its a nice to have, but its not a regression in diagnostic quality.

nikomatsakis (Aug 28 2018 at 13:42, on Zulip):

agreed

nikomatsakis (Aug 28 2018 at 13:43, on Zulip):

https://github.com/rust-lang/rust/issues/53603 might be a dup

nikomatsakis (Aug 28 2018 at 13:43, on Zulip):

I can maybe test that

pnkfelix (Aug 28 2018 at 13:43, on Zulip):

:thumbs_up:

nikomatsakis (Aug 28 2018 at 13:45, on Zulip):

so https://github.com/rust-lang/rust/issues/53606 isn't really about NLL afaict

pnkfelix (Aug 28 2018 at 13:45, on Zulip):

can we make a variant test that reproduces without NLL?

pnkfelix (Aug 28 2018 at 13:45, on Zulip):

oh @Matthew Jasper did already

pnkfelix (Aug 28 2018 at 13:45, on Zulip):

okay then yeah lets kill the A-NLL tag on that.

nikomatsakis (Aug 28 2018 at 13:46, on Zulip):

I think the NLL aspect was really that @Oli had written let _: T = ... but not realized that this is presently ignored by NLL

nikomatsakis (Aug 28 2018 at 13:46, on Zulip):

anyway I had https://github.com/rust-lang/rust/issues/53723 on the list for "discussion" today

nikomatsakis (Aug 28 2018 at 13:47, on Zulip):

hence the I-nominated tag

pnkfelix (Aug 28 2018 at 13:47, on Zulip):

okay good

pnkfelix (Aug 28 2018 at 13:48, on Zulip):

I will add an appropriate search for I-nominated A-NLL issues to the "Nice Links" section of the triage Paper

nikomatsakis (Aug 28 2018 at 13:49, on Zulip):

I was thinking we should update the NLL tracking issue text...

pnkfelix (Aug 28 2018 at 13:49, on Zulip):

Oh instead of using the triage Paper? or both?

nikomatsakis (Aug 28 2018 at 13:50, on Zulip):

"both" I guess -- just something I noticed

pnkfelix (Aug 28 2018 at 13:50, on Zulip):

In an ideal world, what issue/pr collection would you want to review at each meeting? This? https://github.com/rust-lang/rust/issues?utf8=%E2%9C%93&q=+label%3AI-nominated+label%3AA-NLL+

nikomatsakis (Aug 28 2018 at 13:50, on Zulip):

I guess so? Probably makes sense to use I-nominated this way

pnkfelix (Aug 28 2018 at 13:51, on Zulip):

(i deliberately included closed items on that list, so that merged PR's would show up...)

nikomatsakis (Aug 28 2018 at 13:51, on Zulip):

(you saw the notes I put into the dropbox paper, I guess)

pnkfelix (Aug 28 2018 at 13:51, on Zulip):

(but using that usefully requires people to clear I-nominated from issues even after they are closed. Probably best.)

pnkfelix (Aug 28 2018 at 13:52, on Zulip):

I actually hadn't looked at your "Nominated Issues" section

pnkfelix (Aug 28 2018 at 13:57, on Zulip):

@nikomatsakis hmm did you change your mind on how to approach #47184?

pnkfelix (Aug 28 2018 at 13:59, on Zulip):

namely you suggest handling let (a, b): T; by breaking apart T. I tried implementing that on my ancient branch. More recently you had suggested changing UserAssertTy to take some sort of Pattern-like form instead of a Local.

pnkfelix (Aug 28 2018 at 14:00, on Zulip):

I guess it should always be possible to break apart T; I would just need to make sure to normalize (or "canonicalize"?) the type to ensure that things like Associated::Foo gets turned into (Bar, Baz), right?}

pnkfelix (Aug 28 2018 at 14:02, on Zulip):

but changing UserAssertTy to take a Pattern-like form might be a better path to look into, since that should let us unify the code paths in the compiler, right?

nikomatsakis (Aug 28 2018 at 14:05, on Zulip):

hmm

nikomatsakis (Aug 28 2018 at 14:05, on Zulip):

yes I've gone back and forth :)

nikomatsakis (Aug 28 2018 at 14:06, on Zulip):

I think both forms are going to be kind of similarly annoying

nikomatsakis (Aug 28 2018 at 14:06, on Zulip):

I'm not psyched about either one

nikomatsakis (Aug 28 2018 at 14:06, on Zulip):

I wonder if we can push some of this logic into the typeck phase

nikomatsakis (Aug 28 2018 at 14:06, on Zulip):

tuples are the easy case of course

nikomatsakis (Aug 28 2018 at 14:06, on Zulip):

it's stuff like Foo { ... } that is annoying

pnkfelix (Aug 28 2018 at 14:06, on Zulip):

I still wonder if we could issue a warning for the cases we haven't covered yet

pnkfelix (Aug 28 2018 at 14:07, on Zulip):

:)

pnkfelix (Aug 28 2018 at 14:07, on Zulip):

i.e. totally punt

pnkfelix (Aug 28 2018 at 14:07, on Zulip):

to later

pnkfelix (Aug 28 2018 at 14:07, on Zulip):

but that would be very very sad

pnkfelix (Aug 28 2018 at 14:09, on Zulip):

Why did @Matthew Jasper say that #53569 is "the same as ... but for enums"? The examples I see given are of a struct?

pnkfelix (Aug 28 2018 at 14:10, on Zulip):

or is @Matthew Jasper just equating enums == structs ?

nikomatsakis (Aug 28 2018 at 14:10, on Zulip):

No, I think what they meant is that — in this case — you have Result<&'a foo, String> being dropped

nikomatsakis (Aug 28 2018 at 14:10, on Zulip):

and we need a drop for the Error case

nikomatsakis (Aug 28 2018 at 14:10, on Zulip):

but the lifetime is in the Ok case

nikomatsakis (Aug 28 2018 at 14:10, on Zulip):

this seems related to dangly paths

pnkfelix (Aug 28 2018 at 14:11, on Zulip):

OH....

pnkfelix (Aug 28 2018 at 14:11, on Zulip):

yikes

nikomatsakis (Aug 28 2018 at 14:11, on Zulip):

see my comment here: https://github.com/rust-lang/rust/issues/53569#issuecomment-414821527

nikomatsakis (Aug 28 2018 at 14:11, on Zulip):

so we do currently have some logic that tries to "expand" drops a bit

nikomatsakis (Aug 28 2018 at 14:11, on Zulip):

e.g., if you drop a struct Foo, and you have a borrow of one field, but only some other field needs drop, we'll permit that

pnkfelix (Aug 28 2018 at 14:12, on Zulip):

yeah

nikomatsakis (Aug 28 2018 at 14:12, on Zulip):

so I guess you could imagine extending that to enum variants

nikomatsakis (Aug 28 2018 at 14:12, on Zulip):

which must be what they had in mind

pnkfelix (Aug 28 2018 at 14:12, on Zulip):

right okay I guess I can see the analogy now

nikomatsakis (Aug 28 2018 at 14:12, on Zulip):

makes sense

nikomatsakis (Aug 28 2018 at 14:12, on Zulip):

makes me nervous but I'm trying to put my finger on why :)

pnkfelix (Aug 28 2018 at 14:12, on Zulip):

The handling of struct Foo

nikomatsakis (Aug 28 2018 at 14:12, on Zulip):

I think it's mostly that the logic around drop is getting increasingly complex

pnkfelix (Aug 28 2018 at 14:12, on Zulip):

is that done even when the fields are private?

nikomatsakis (Aug 28 2018 at 14:12, on Zulip):

well if fields are private

nikomatsakis (Aug 28 2018 at 14:12, on Zulip):

you can't have a loan of them

pnkfelix (Aug 28 2018 at 14:12, on Zulip):

oh right

pnkfelix (Aug 28 2018 at 14:13, on Zulip):

well

pnkfelix (Aug 28 2018 at 14:13, on Zulip):

hmm

pnkfelix (Aug 28 2018 at 14:13, on Zulip):

okay

pnkfelix (Aug 28 2018 at 14:13, on Zulip):

Not yet, at least

nikomatsakis (Aug 28 2018 at 14:13, on Zulip):

it is definitely true that Drop has a semver significance that I didn't fully realize before

nikomatsakis (Aug 28 2018 at 14:13, on Zulip):

heh, yes, true

nikomatsakis (Aug 28 2018 at 14:13, on Zulip):

mostly I think the significance of Drop doesn't arise because of privacy

pnkfelix (Aug 28 2018 at 14:13, on Zulip):

But #49822 used similar logic for enums

pnkfelix (Aug 28 2018 at 14:14, on Zulip):

(i.e. "we cannot express the borrow you would need to care about this")

pnkfelix (Aug 28 2018 at 14:14, on Zulip):

so I need to make that all gel in my head

pnkfelix (Aug 28 2018 at 14:15, on Zulip):

(let me look over your comment more carefully.)

pnkfelix (Aug 28 2018 at 14:18, on Zulip):

I wonder if @Matthew Jasper will be at the meeting tonight... maybe they could outline their thinking as to how they were thinking they'd fold the checking into places_conflict...

nikomatsakis (Aug 28 2018 at 14:28, on Zulip):

yes, that part was sort of opaque to me

pnkfelix (Aug 28 2018 at 14:42, on Zulip):

Do we still not have an issue for adding a compare-mode=nll for the run-pass suite?

nikomatsakis (Aug 28 2018 at 14:43, on Zulip):

d'oh

pnkfelix (Aug 28 2018 at 14:43, on Zulip):

I'll make one if we don't

nikomatsakis (Aug 28 2018 at 14:43, on Zulip):

I think we should just move run-pass into UI?

nikomatsakis (Aug 28 2018 at 14:43, on Zulip):

(and add the // run-pass annotations)

pnkfelix (Aug 28 2018 at 14:43, on Zulip):

oh. I guess that would be simplest

pnkfelix (Aug 28 2018 at 14:43, on Zulip):

but either way

nikomatsakis (Aug 28 2018 at 14:43, on Zulip):

right

nikomatsakis (Aug 28 2018 at 14:43, on Zulip):

I wonder if that will prove a super painful exercise

nikomatsakis (Aug 28 2018 at 14:44, on Zulip):

depends on whether run-pass UI tests check the compilation output :)

pnkfelix (Aug 28 2018 at 14:48, on Zulip):

Okay filed #53764

pnkfelix (Aug 28 2018 at 14:48, on Zulip):

I think they might only check the compilation output for // run-pass if the .stdout/.stderr files exist.

pnkfelix (Aug 28 2018 at 14:49, on Zulip):

but that would be a good thing to confirm

pnkfelix (Aug 28 2018 at 14:49, on Zulip):

(oh gee, who is it that keeps saying we need unit tests for compiletest ... ;) )

nikomatsakis (Aug 28 2018 at 14:51, on Zulip):

=)

nikomatsakis (Aug 28 2018 at 14:51, on Zulip):

who tests the tester, I ask you?

nikomatsakis (Sep 11 2018 at 13:14, on Zulip):

@pnkfelix shall we plan a bit before today's meeting?

pnkfelix (Sep 11 2018 at 13:15, on Zulip):

yeah probably good idea

nikomatsakis (Sep 11 2018 at 13:25, on Zulip):

ok so

nikomatsakis (Sep 11 2018 at 13:25, on Zulip):

sorry, kept getting distracted

nikomatsakis (Sep 11 2018 at 13:25, on Zulip):

I'm back now :)

pnkfelix (Sep 11 2018 at 13:26, on Zulip):

check this awesome thing out: https://perf.rust-lang.org/nll-dashboard.html

pnkfelix (Sep 11 2018 at 13:27, on Zulip):

We've come a long long way

nikomatsakis (Sep 11 2018 at 13:27, on Zulip):

yes, I know

nikomatsakis (Sep 11 2018 at 13:27, on Zulip):

so in terms of the RC

nikomatsakis (Sep 11 2018 at 13:27, on Zulip):

https://github.com/rust-lang/rust/issues?utf8=%E2%9C%93&q=is%3Aopen+is%3Aissue+milestone%3A%22Rust+2018+RC%22+label%3AA-nll

nikomatsakis (Sep 11 2018 at 13:27, on Zulip):

we're basically down to just the type annot PR

nikomatsakis (Sep 11 2018 at 13:27, on Zulip):

which is R+'d

pnkfelix (Sep 11 2018 at 13:27, on Zulip):

Will it land in time for beta cut do you think?

nikomatsakis (Sep 11 2018 at 13:27, on Zulip):

though I'm a bit nervous, I'm wondering if we'll hit some ICEs around normalization, I should do some experiments

pnkfelix (Sep 11 2018 at 13:28, on Zulip):

or we'll just backport it if doesn't make it in time?

nikomatsakis (Sep 11 2018 at 13:28, on Zulip):

I think so, we have some flexibility around when we cut the beta actually

pnkfelix (Sep 11 2018 at 13:28, on Zulip):

okay

nikomatsakis (Sep 11 2018 at 13:28, on Zulip):

I believe our plan is to cut once the blockers land

nikomatsakis (Sep 11 2018 at 13:28, on Zulip):

but we should think about next steps

nikomatsakis (Sep 11 2018 at 13:29, on Zulip):

plenty of things on the RC 2 list

nikomatsakis (Sep 11 2018 at 13:29, on Zulip):

not sure if they all belong there

pnkfelix (Sep 11 2018 at 13:29, on Zulip):

i.e. the main things are:

pnkfelix (Sep 11 2018 at 13:29, on Zulip):

1. triage RC 2

pnkfelix (Sep 11 2018 at 13:29, on Zulip):

and 2. plan polonius work?

pnkfelix (Sep 11 2018 at 13:29, on Zulip):

or does polonius continue to be on back-burnwer

pnkfelix (Sep 11 2018 at 13:29, on Zulip):

until Edition is actually released?

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

I guess the answer to that Q may depend on that RC2 list

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

so lets see

nikomatsakis (Sep 11 2018 at 13:30, on Zulip):

Yes, a good question. I was thinking that I would like to kind of survey it's state. I know it's broken in a few ways right now

nikomatsakis (Sep 11 2018 at 13:30, on Zulip):

but yes I think we're not quite ready

nikomatsakis (Sep 11 2018 at 13:30, on Zulip):

shall we just walk down the RC2 list?

nikomatsakis (Sep 11 2018 at 13:30, on Zulip):

NLL: need to run the run-pass tests under compare-mode=nll #53764

nikomatsakis (Sep 11 2018 at 13:31, on Zulip):

I see lots of checked boxes here

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

I just made an update comment on it

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

I should not have checked off ./ with PR #53860.

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

(this is regarding #53764 )

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

ok

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

anyway great progress

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

NLL allows creating variables that are immediately unusable. #53695

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

I've sort of had a change of heart here

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

in particular my latest comment

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

It is in fact this final step -- evaluating directly into x -- that permits this case to type-check, since otherwise there would be an access after EXPR has been fully evaluated (and the block terminated).

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

I'm not super happy that this is revealed

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

it may be worth adding some form of dummy read ?

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

thoughts @pnkfelix ?

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

hmm

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

let's leave it for now

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

come back to it

pnkfelix (Sep 11 2018 at 13:40, on Zulip):

well

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

I closed " MIR/two-phase borrowck takes a lot of time and memory for the ucd crate #53643 "

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

as we are at 110% CPU / 135% RAM

pnkfelix (Sep 11 2018 at 13:40, on Zulip):

I'd like to have some notion if #53695 is going to risk being a blocker of some kind

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

well

?

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

ok

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

my sense is that it is an RC2 blocker — if we decide to change something here

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

adding a dummy read seems like a relatively easy experiment to do

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

but it's also an easy fix

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

and its also the kind of thing that may uncover all kinds of nasty cases/consequences that we're failing to consider right now

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

so it may be a good experiment to do

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

true

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

agreed

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

I think if we're going to fix it, we ought to do it soon, would be a good mentoring candidate

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

e.g., @Santiago Pastorino was looking for something to do

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

I agree with that

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

As long as its clear that the goal may not be to do the fix

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

i.e. if one discovers that it blows up with lots of unpredicted problems

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

then we've learned something, and we move on

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

Okay I'm happy with that approach, lets move on then

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

sounds good

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

let's leave some notes

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

Okay I'll write some up now

nikomatsakis (Sep 11 2018 at 13:45, on Zulip):

just did :)

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

okay done then

nikomatsakis (Sep 11 2018 at 13:45, on Zulip):

I nominated for the meeting

nikomatsakis (Sep 11 2018 at 13:45, on Zulip):

next issue I think is " [nll] attr-0.1.0 regression #53569 "

nikomatsakis (Sep 11 2018 at 13:45, on Zulip):

I think we failed to follow up with @Matthew Jasper on this

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

egad

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

they made a topic here

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

well

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

do we want to get into the details now?

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

or should we make sure to do this post-triage-sweep?

pnkfelix (Sep 11 2018 at 13:48, on Zulip):

I just bumped the topic. Let revisit post-triage.

pnkfelix (Sep 11 2018 at 13:49, on Zulip):

And/or nominate it for tonight's meeting.

pnkfelix (Sep 11 2018 at 13:49, on Zulip):

(though we probably don't have time in the 30min meeting slot.)

nikomatsakis (Sep 11 2018 at 13:49, on Zulip):

sounds good

nikomatsakis (Sep 11 2018 at 13:49, on Zulip):

so " NLL + impl Trait: Borrow checker error on else branch #53528 "

nikomatsakis (Sep 11 2018 at 13:49, on Zulip):

did you ever investigate that?

pnkfelix (Sep 11 2018 at 13:49, on Zulip):

okay so next is NLL + impl Trait: Borrow checker error on else branch #53528

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

no I keep failing to follow through

nikomatsakis (Sep 11 2018 at 13:50, on Zulip):

ok

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

maybe after we finish triage; I'm about done with the run-pass migrate

nikomatsakis (Sep 11 2018 at 13:50, on Zulip):

ok

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

" NLL: Review compile-fail migrated tests #53351 "?

pnkfelix (Sep 11 2018 at 13:51, on Zulip):

hmm

pnkfelix (Sep 11 2018 at 13:51, on Zulip):

talk about yak shaving

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

there are unchecked boxes but

pnkfelix (Sep 11 2018 at 13:51, on Zulip):

I think at this point we will need to start fresh

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

you also say "I finished going through the remainder of the list."

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

sounds like we want the type ascripton PR to land first

pnkfelix (Sep 11 2018 at 13:52, on Zulip):

right. I think this comment is still accurate.

pnkfelix (Sep 11 2018 at 13:52, on Zulip):

so yes, its definitely blocked on type ascription PR

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

(maybe even the generalization to subpatterns?)

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

though I don't see that many things affected by it

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

there are a few .nll.stderr files in the list

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

some of your comments worried me a bit?

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

the thing about rvalue lifetimes, in particular

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

that said

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

our rules have not changed I don't think

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

but we may have had bugs before =)

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

in particular, we've not altered MIR generation

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

to my knowledge

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

at least in this respect

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

so the runtime semantics are not changed :)

pnkfelix (Sep 11 2018 at 13:54, on Zulip):

well

pnkfelix (Sep 11 2018 at 13:54, on Zulip):

maybe you have a better intuition as to what should be happening in that particular test

pnkfelix (Sep 11 2018 at 13:54, on Zulip):

unfortunately since it is using // ignore-compare-mode-nll

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

you cannot simply diff the .stderr files

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

ah

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

I can take a look, for sure

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

let me take a quick glance

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

at the test?

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

which test is it again?

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

at the results when compiling it under NLL, yeah

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

nm

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

I'll run locally too

pnkfelix (Sep 11 2018 at 13:56, on Zulip):

it is cleanup-rvalue-scopes-cf.rs

pnkfelix (Sep 11 2018 at 13:56, on Zulip):

ah okay everything compiles

pnkfelix (Sep 11 2018 at 13:56, on Zulip):

AH

pnkfelix (Sep 11 2018 at 13:56, on Zulip):

I bet this is the unused variable "bug!"/issue

pnkfelix (Sep 11 2018 at 13:57, on Zulip):

that we were just talking about

pnkfelix (Sep 11 2018 at 13:57, on Zulip):

all of the bindings in question are not referenced.

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

ha

pnkfelix (Sep 11 2018 at 13:57, on Zulip):

I'll make a note

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

I can confirm that adding drop(_x) for each one causes lots of errors

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

ok, let's move on

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

this feels... like work we should do though

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

in other words, it seems sort of "high priority"-ish to break this into concrete issues that we can defer or do as we choose?

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

Sure

pnkfelix (Sep 11 2018 at 14:00, on Zulip):

I can do that and then close this ticket

pnkfelix (Sep 11 2018 at 14:00, on Zulip):

and I'll make all of those fall under RC2 for the first pass.

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

ok

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

next up: " [nll] hash borrows in scope for better performance #53159 "

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

my sense is...this is not RC2 blocker

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

perf is good enough

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

and we don't even know if this will be faster

pnkfelix (Sep 11 2018 at 14:00, on Zulip):

yep

pnkfelix (Sep 11 2018 at 14:00, on Zulip):

maybe take it off milestones entirely?

nikomatsakis (Sep 11 2018 at 14:01, on Zulip):

yep

nikomatsakis (Sep 11 2018 at 14:01, on Zulip):

@Ariel Ben-Yehuda mentioned something interesting on some issue, as an aside

nikomatsakis (Sep 11 2018 at 14:01, on Zulip):

that perhaps we can do an "iterated dominance frontier"-like thing

nikomatsakis (Sep 11 2018 at 14:01, on Zulip):

to compute the borrows in scope

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

I haven't had time to think about that

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

(vs doing a distinct DFS per borrow)

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

right I remember that note

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

I'd sort of want to think about it as part of a polonius transition though

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

which actually may simplify things

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

in particular, for polonius, we are not tasked with computing the borrows in scope (the datalog engine does that)

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

we are tasked with finding out which actions potentially conflict with which borrows

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

I guess whatI mean is: I don't see a reason to dig much into this

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

until we decide what we are doing for polonius

pnkfelix (Sep 11 2018 at 14:03, on Zulip):

sounds good

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

(unless it is a blocker for NLL today, which it doesn't seem to be)

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

ok

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

er, did I skip " "invert" borrow computation #53328 " ?

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

I think the story is the same here though :)

pnkfelix (Sep 11 2018 at 14:03, on Zulip):

ah the next bug #53328 is where ariel made that note

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

ok right

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

so again, take it off the milestone

nikomatsakis (Sep 11 2018 at 14:04, on Zulip):

I think so — I don't remember the latest profiles — I don't think this was a huge factor though

nikomatsakis (Sep 11 2018 at 14:04, on Zulip):

and we felt like perf is good enough

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

(do we want to track things that are blocked by polonius decisions?)

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

e.g. via some sort of metabug?

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

maybe? I kind of feel like let's do that later though?

pnkfelix (Sep 11 2018 at 14:05, on Zulip):

or just trust that we'll remember to revisit these issues when we get to it

pnkfelix (Sep 11 2018 at 14:05, on Zulip):

yeah okay

pnkfelix (Sep 11 2018 at 14:05, on Zulip):

no need to spend time making and maintaining that infrastructure now

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

right, I'm sort of allergic to "pre-organizing"

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

though also prone to it :P

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

ok, so, we'll take this off the milestone

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

next up: " [nll] spurious outlives requirement in shred-0.7.0 #53121 "

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

ps, thanks for doing this @pnkfelix, always feels so good to get a handle on this stuff...

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

so I did some digging into shred-0.7.0

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

I haven't really formulated a plan but I was planning on doing it today

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

so I don't have a clue as to where to go with #53121

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

the tl;dr is sort of well understood and has been for some time

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

heh okay

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

well, basically, we have some heuristics, and they are not working well for nll

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

but yeah I'm not entirely sure I have to do some experimenting

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

I think we are going to have to do some kind of "deferred decision" here

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

I feel like I ask you this every time

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

but

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

that is, right now, to try and prove that <T as Foo<'0>>: '1 we eagerly add the constraint that '0: '1 but that is too strong

pnkfelix (Sep 11 2018 at 14:09, on Zulip):

have you isolated why it only comes up with --crate-type=lib ?

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

I did, though I think I found some examples where it comes up without that

pnkfelix (Sep 11 2018 at 14:09, on Zulip):

okay

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

I believe it was because the particular MIr in this example

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

was some kind of "autogenerated" MIR

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

and was not being generated until we record the metadata for a library

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

something weird like that

pnkfelix (Sep 11 2018 at 14:09, on Zulip):

hmm. okay.

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

still a bit surprising

nikomatsakis (Sep 11 2018 at 14:10, on Zulip):

I can try to get more specific, I forget now

pnkfelix (Sep 11 2018 at 14:10, on Zulip):

now that you say that, I can sort of understand

nikomatsakis (Sep 11 2018 at 14:10, on Zulip):

anyway it was something like that

pnkfelix (Sep 11 2018 at 14:11, on Zulip):

hmm

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

ok let's move on, I'll assign that to me if it's not already?

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

(it is)

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

hmm

?

pnkfelix (Sep 11 2018 at 14:11, on Zulip):

I think associated items might be one place where we know our handling of ascribed types is not tested?

pnkfelix (Sep 11 2018 at 14:11, on Zulip):

and perhaps weak?

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

mm say more?

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

(I was just skimming the definition of type AccessorTy<'a, T> = ...;

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

and it reminded me of the check list on the type ascription bug

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

oh

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

I don't think that's the problem here

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

I think what we don't probably handle well is something like

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

egads I'm not even 100% sure but basically when you have some constant

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

well hold on

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

lets not get into the details

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

but rather

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

if you get the chance

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

to make a smaller test case

pnkfelix (Sep 11 2018 at 14:13, on Zulip):

slash more illustrative one

nikomatsakis (Sep 11 2018 at 14:13, on Zulip):

yep

pnkfelix (Sep 11 2018 at 14:13, on Zulip):

maybe put it into the top of the description of the issue

pnkfelix (Sep 11 2018 at 14:13, on Zulip):

because right now, its just scary

nikomatsakis (Sep 11 2018 at 14:13, on Zulip):

(as an aside, I linked to some other cases in a comment that I think are the same core problem)

nikomatsakis (Sep 11 2018 at 14:13, on Zulip):

I would like to remember why you need --crate-type lib in more detail and document that too

nikomatsakis (Sep 11 2018 at 14:13, on Zulip):

to make sure it's not something else we should worry about

nikomatsakis (Sep 11 2018 at 14:13, on Zulip):

so i'll try to do that

nikomatsakis (Sep 11 2018 at 14:13, on Zulip):

next up: " [nll] _ patterns should not count as borrows #53114 "

pnkfelix (Sep 11 2018 at 14:13, on Zulip):

okay great

nikomatsakis (Sep 11 2018 at 14:13, on Zulip):

I think that @Matthew Jasper is basically "on this"

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

not sure if you had time to review the topic that they created about it

pnkfelix (Sep 11 2018 at 14:15, on Zulip):

nope I don't think I did

pnkfelix (Sep 11 2018 at 14:15, on Zulip):

or no, I did review it. :)

nikomatsakis (Sep 11 2018 at 14:15, on Zulip):

there were two key points, but maybe it's best not to dig into the details just now

pnkfelix (Sep 11 2018 at 14:15, on Zulip):

okay

nikomatsakis (Sep 11 2018 at 14:16, on Zulip):

still, this brings up an aside

nikomatsakis (Sep 11 2018 at 14:16, on Zulip):

I think we ought to revisit the NLL RFC

nikomatsakis (Sep 11 2018 at 14:16, on Zulip):

maybe not the RFC itself

nikomatsakis (Sep 11 2018 at 14:16, on Zulip):

but some kind of "Spec-like thing" we can add to the rust reference

nikomatsakis (Sep 11 2018 at 14:16, on Zulip):

there have been a few significant deviations from the RFC

nikomatsakis (Sep 11 2018 at 14:16, on Zulip):

this seems like one of them

pnkfelix (Sep 11 2018 at 14:16, on Zulip):

hmm

nikomatsakis (Sep 11 2018 at 14:16, on Zulip):

well, it's not really a deviation per se but an "expansion"

pnkfelix (Sep 11 2018 at 14:16, on Zulip):

okay

nikomatsakis (Sep 11 2018 at 14:16, on Zulip):

obviously removing the location-specific outlives stuff is another

pnkfelix (Sep 11 2018 at 14:17, on Zulip):

maybe we just open an issue about that work

nikomatsakis (Sep 11 2018 at 14:17, on Zulip):

there are also a bunch of things that were never part of the RFC but kind of could be

pnkfelix (Sep 11 2018 at 14:17, on Zulip):

(updating the rust reference)

nikomatsakis (Sep 11 2018 at 14:17, on Zulip):

e.g. the move analysis

nikomatsakis (Sep 11 2018 at 14:17, on Zulip):

sounds good

pnkfelix (Sep 11 2018 at 14:17, on Zulip):

but

nikomatsakis (Sep 11 2018 at 14:17, on Zulip):

it's obviously not an RC blocker

nikomatsakis (Sep 11 2018 at 14:17, on Zulip):

but it's something I would like done

pnkfelix (Sep 11 2018 at 14:17, on Zulip):

what priority does it get?

pnkfelix (Sep 11 2018 at 14:17, on Zulip):

not a Release blocker even, right?

nikomatsakis (Sep 11 2018 at 14:17, on Zulip):

yeah, prob not

pnkfelix (Sep 11 2018 at 14:17, on Zulip):

we've historically not blocked on such thigns

nikomatsakis (Sep 11 2018 at 14:17, on Zulip):

I'd like to at least accumulate a bullet list

pnkfelix (Sep 11 2018 at 14:17, on Zulip):

instead we wait for people like Gankro to come along

nikomatsakis (Sep 11 2018 at 14:18, on Zulip):

maybe I'll try to do some of it

nikomatsakis (Sep 11 2018 at 14:18, on Zulip):

yeah, I'm wanting to start changing that :P

pnkfelix (Sep 11 2018 at 14:18, on Zulip):

:smile:

nikomatsakis (Sep 11 2018 at 14:18, on Zulip):

anyway, I think it's probably not a Release blocker

pnkfelix (Sep 11 2018 at 14:18, on Zulip):

k

nikomatsakis (Sep 11 2018 at 14:18, on Zulip):

but opening an issue is good

pnkfelix (Sep 11 2018 at 14:18, on Zulip):

I'll open one now

nikomatsakis (Sep 11 2018 at 14:18, on Zulip):

(ok, send me link here...)

nikomatsakis (Sep 11 2018 at 14:21, on Zulip):

I wrote some notes on https://github.com/rust-lang/rust/issues/53114#issuecomment-420291873 with my understanding of what @Matthew Jasper proposed

nikomatsakis (Sep 11 2018 at 14:22, on Zulip):

next up " [nll] better error message when returning refs to upvars #53040 "

pnkfelix (Sep 11 2018 at 14:22, on Zulip):

okay link: "NLL: document specs for (new) semantics in rust ref (incl. deviations from RFC) #54129"

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

so for #53040, ... your comment from august 6 says its a diagnostics issue

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

but also that you would be interested in improving the inference. (But that would be orthogonal job from NLL)

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

so...

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

how important is the diagnostics issue here

nikomatsakis (Sep 11 2018 at 14:26, on Zulip):

my feeling is that it could be quite important

nikomatsakis (Sep 11 2018 at 14:26, on Zulip):

in particular, the error is really non-obvious I think

nikomatsakis (Sep 11 2018 at 14:26, on Zulip):

but I'd like some pithy examples maybe...?

pnkfelix (Sep 11 2018 at 14:27, on Zulip):

and would the diagnostics be resolved by just suggesting "maybe add move to your closure"

pnkfelix (Sep 11 2018 at 14:27, on Zulip):

(as I suggested here previously...)

pnkfelix (Sep 11 2018 at 14:27, on Zulip):

because if that could be acceptable, then maybe we do that for RC2

nikomatsakis (Sep 11 2018 at 14:28, on Zulip):

ok so the diagnostics have improved already

nikomatsakis (Sep 11 2018 at 14:28, on Zulip):

somewhat

nikomatsakis (Sep 11 2018 at 14:28, on Zulip):

e.g.

error: unsatisfied lifetime constraints
 --> src/main.rs:5:8
  |
5 |     || &mut v;
  |     -- ^^^^^^ returning this value requires that `'1` must outlive `'2`
  |     ||
  |     |return type of closure is &'2 mut std::vec::Vec<()>
  |     lifetime `'1` represents this closure's body
  |
  = note: closure implements `FnMut`, so references to captured variables can't escape the closure
nikomatsakis (Sep 11 2018 at 14:28, on Zulip):

that is the error you get for this example

#![feature(nll)]

fn main() {
    let mut v: Vec<()> = Vec::new();
    || &mut v;
}
pnkfelix (Sep 11 2018 at 14:29, on Zulip):

as in, it mentions FnMut now

nikomatsakis (Sep 11 2018 at 14:29, on Zulip):

could be better but at least we are diagnosing the actual problem

nikomatsakis (Sep 11 2018 at 14:29, on Zulip):

well

nikomatsakis (Sep 11 2018 at 14:29, on Zulip):

I think the thing that is still ungreat

nikomatsakis (Sep 11 2018 at 14:29, on Zulip):

is that we talk about "the lietime of the closure body" ('1)

nikomatsakis (Sep 11 2018 at 14:29, on Zulip):

but it's sort of unclear what this has to do with v

nikomatsakis (Sep 11 2018 at 14:29, on Zulip):

I would like us to be saying something like:

pnkfelix (Sep 11 2018 at 14:29, on Zulip):

wait

pnkfelix (Sep 11 2018 at 14:29, on Zulip):

hmm

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

at first I thought it was intuitive

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

but I'm taking that back now. :)

nikomatsakis (Sep 11 2018 at 14:30, on Zulip):

"FnMut closures only have mutable access to v during the closure body"

nikomatsakis (Sep 11 2018 at 14:30, on Zulip):

it's hard to figure out just what to say

nikomatsakis (Sep 11 2018 at 14:30, on Zulip):

but this is the key issue

nikomatsakis (Sep 11 2018 at 14:30, on Zulip):

it's true that — in some cases — move would help

nikomatsakis (Sep 11 2018 at 14:30, on Zulip):

but not all

nikomatsakis (Sep 11 2018 at 14:30, on Zulip):

notably, I don't think it would fix this example

nikomatsakis (Sep 11 2018 at 14:31, on Zulip):

(nope)

nikomatsakis (Sep 11 2018 at 14:31, on Zulip):
#![feature(nll)]

fn main() {
    let mut v: Vec<()> = Vec::new();
    move || &mut v;
}
nikomatsakis (Sep 11 2018 at 14:31, on Zulip):

still errors out

nikomatsakis (Sep 11 2018 at 14:31, on Zulip):

the real problem is that you need a once closure

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

oh and move on its own doesn't (always) force that

nikomatsakis (Sep 11 2018 at 14:31, on Zulip):

sometimes move can get you one for other reasons

nikomatsakis (Sep 11 2018 at 14:32, on Zulip):

TL;DR I think I would consider this a "somewhat high" priority error message improvement?

nikomatsakis (Sep 11 2018 at 14:32, on Zulip):

reason:

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

even for us it is subtle :)

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

but exactly what the error should be probably still requires some "workshopping"

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

I guess the "note" is pretty decent

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

yeah okay

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

https://play.rust-lang.org/?gist=d49f585e47ab576ba4da68b0a772fce2&version=nightly&mode=debug&edition=2015

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

Should we consider mentioning FnOnce in the note as well?

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

Or keeping it focused on FnMut, and just revising it in a manner similar to what you suggest?

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

wait, in comment you said you think it should be promoted beyond note ?

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

are notes often ignored or something?

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

I left another comment proposing

error: captured variable cannot escape `FnMut` closure body
 --> src/main.rs:5:8
  |
5 |     || &mut v;
  |     -- ^^^^^^ creates a reference to the captured variable `v` which escapes the closure body
  |     |
  |     inferred to be a `FnMut` closure
  |
  = note: `FnMut` closures only have access to their captured variables while they are executing
  = note: therefore, they cannot return allow a reference to a captured variable to escape

or something like that

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

a bit repetitive :)

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

anyway, I think we should keep it on milestone?

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

but discuss best error in the issue?

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

ps this is taking a long time :)

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

though I guess we're like 50% through

pnkfelix (Sep 11 2018 at 14:40, on Zulip):

the whole "making plans"? yes

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

maybe we should try to move faster

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

okay well we can pick up pace a little

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

next is: "borrow of possibly uninitialized variable" instead of "use of moved value" #52669

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

yep

nikomatsakis (Sep 11 2018 at 14:42, on Zulip):

this seems minor but I Think we should fix

nikomatsakis (Sep 11 2018 at 14:42, on Zulip):

actually @Santiago Pastorino was just working on that code

nikomatsakis (Sep 11 2018 at 14:42, on Zulip):

maybe they want to tackle it (or @csmoe , who left some comments)

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

(this is not a dupe of #21232)

nikomatsakis (Sep 11 2018 at 14:43, on Zulip):

I feel like this is worth fixing as a "new user stumble point"

nikomatsakis (Sep 11 2018 at 14:43, on Zulip):

I'll nominate for tonight

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

sure okay

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

I like the idea of asking @Santiago Pastorino first

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

next: NLL: need a (new) round of review deltas between .stderr and .nll.stderr output #52663

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

I'm not sure what's the status here

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

(deleted)

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

as far as I know, no one picked up baton to do further review of the remaining cases

nikomatsakis (Sep 11 2018 at 14:45, on Zulip):

hmm ok

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

I'll reassign to self

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

since I'll already be breaking up that other ticket

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

into separate issues that can be individually triaged

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

I can probably just do the same here. Seems like it will be easier to deal with over time if I do that.

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

do you want me to tackle some of it?

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

on the one hand, feels like a classic "Quest issue"

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

on the other, it requires kind of sensitive judgement calls

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

What does that mean?

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

("Quest issue"?)

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

and I feel like we've not had much luck distributing the load

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

"quest issue" means an issue where you have a checklist and a lot of people pitch in

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

Oh I see

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

and I feel like we've not had much luck distributing the load

not in general, obviously, I mean on this specific sort of thing

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

yes I suspect the need for judgement calls is large reason we have not seen uptake

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

agreed

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

that suggests that you or I should do it, which seems fine

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

otoh having the list of regressions is great

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

plenty of people tearing through the list

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

so it's high value work

pnkfelix (Sep 11 2018 at 14:48, on Zulip):

well I think that may have died down though...

pnkfelix (Sep 11 2018 at 14:48, on Zulip):

not clear to me

pnkfelix (Sep 11 2018 at 14:49, on Zulip):

(doesn't help that one cannot see edit history for a description)

pnkfelix (Sep 11 2018 at 14:49, on Zulip):

well in any case I reassigned it to myself

pnkfelix (Sep 11 2018 at 14:49, on Zulip):

so lets move along

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

"[nll] borrows that must be valid for a free lifetime should explain why" #52534

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

so @davidtwco is working on it some

davidtwco (Sep 11 2018 at 14:52, on Zulip):

(right now in fact)

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

I think it's a good area where we can leapfrog the existing errors

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

keep it and move on?

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

yeah, its assigned

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

we'll leave it

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

" NLL: Implicit reborrow hides error "Cannot move out of Struct with destructor" #52059 " ?

pnkfelix (Sep 11 2018 at 14:56, on Zulip):

hmm

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

sorry, got distracted

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

uh

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

it is a confusing error...let me see..

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

well, it's somewhat better now

pnkfelix (Sep 11 2018 at 14:57, on Zulip):

the example of the "better error message" is misleading though

nikomatsakis (Sep 11 2018 at 14:57, on Zulip):
   |     - `*self.url` dropped here while still borrowed
pnkfelix (Sep 11 2018 at 14:57, on Zulip):

(from the description)

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

this is the full error:

rror[E0597]: `*self.url` does not live long enough
  --> src/main.rs:15:9
   |
15 |         self.url
   |         ^^^^^^^^ borrowed value does not live long enough
16 |     }
   |     - `*self.url` dropped here while still borrowed
   |
note: borrowed value must be valid for the lifetime 'a as defined on the impl at 13:6...
  --> src/main.rs:13:6
   |
13 | impl<'a> S<'a> {
   |      ^^
pnkfelix (Sep 11 2018 at 14:57, on Zulip):

because you really are not allowed move out of things with destructors, which is what let x = self.url; is trying to do....

pnkfelix (Sep 11 2018 at 14:58, on Zulip):

what might be nice is to mention that the Drop impl on S is significant

pnkfelix (Sep 11 2018 at 14:58, on Zulip):

because even a case like this play gives a similarly "bad" diagnostic

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

in fact, the claim "*self.url dropped here" is sort of misleading

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

given that we put in code to support such moves

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

yeah

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

I actually want to redo these diagnostics a bit more generally but I've not had time to pull together my thoughts here

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

in particular I Think that the interaction with destructors could use clearer terminology

pnkfelix (Sep 11 2018 at 15:00, on Zulip):

I think I'd like to take a closer look at this one

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

let's keep it, it seems like not top prioritity

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

but we have time

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

hopefully :)

pnkfelix (Sep 11 2018 at 15:00, on Zulip):

I'll assign it to myself for now, but if I don't touch it for a week

pnkfelix (Sep 11 2018 at 15:00, on Zulip):

then we'll talk about it again next week perhaps

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

seems fine

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

I think html5ever in the rustc-perf repository is memory-intensive #52028 can prob be closed

nikomatsakis (Sep 11 2018 at 15:01, on Zulip):

well

nikomatsakis (Sep 11 2018 at 15:01, on Zulip):

currently result is 228.28% in max-rss

nikomatsakis (Sep 11 2018 at 15:01, on Zulip):

sprry

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

...

nikomatsakis (Sep 11 2018 at 15:01, on Zulip):

228% :)

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

better,

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

:)

nikomatsakis (Sep 11 2018 at 15:01, on Zulip):

501,888.00

nikomatsakis (Sep 11 2018 at 15:01, on Zulip):

total kb

nikomatsakis (Sep 11 2018 at 15:01, on Zulip):

vs 219,852.00

nikomatsakis (Sep 11 2018 at 15:01, on Zulip):

not as good as I thought

nikomatsakis (Sep 11 2018 at 15:01, on Zulip):

still, a lot better than 2GB :P

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

2.28x <-- best

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

("228%" can be interpreted as "3.28x")

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

anyway

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

hmm

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

I guess I don't feel like it's an RC2 blocker

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

I'm interested a bit to know where the memory is going though :P

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

so I would not close it

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

if we were <50% that'd be one thing

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

but 2x is still a lot

pnkfelix (Sep 11 2018 at 15:03, on Zulip):

okay. remove milesotne but leave open

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

next: "NLL: missing suggestion to use move keyword on closures" #51169

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

@Matthew Jasper is working on it, I think

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

let's leave it

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

similarly NLL diagnostics has lost "closure may outlive the current function" notes #51026 — though I'm not sure of current status there

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

Improve diagnostics to guide users past Borrow checking regression in brotli #47349

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

is the last one

pnkfelix (Sep 11 2018 at 15:06, on Zulip):

Yeah I just r+'ed a PR from @Matthew Jasper that he says may provide helpful foundational methods to reolsve those

pnkfelix (Sep 11 2018 at 15:06, on Zulip):

so we'll see

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

I think that one of @Matthew Jasper's PR may go ahead and add a lot of "consider using a let binding" notes that perhaps apply here

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

maybe the one you just r+'d :)

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

I think we can maybe leave it? or close it, unclear

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

I think the question is: is this the full list

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

I guess the answer is that we have to do those test case reviews to know for sure

pnkfelix (Sep 11 2018 at 15:07, on Zulip):

wait you speaking of #47349 ?

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

I'm saying that https://github.com/rust-lang/rust/pull/54088 may affect #47349

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

ah, I see I had an in-progress review there

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

oh really? I was more thinking it was going to help #51026. Didn't see connection to #47349

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

let me look

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

maybe I should file that as a followup issue

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

well, it adds "= note: consider using a let binding to create a longer lived value"

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

which is basically the note that we need here

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

ah well

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

I take it back

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

I think I am wrong

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

the note we need here is to use a let binding, but for a different reason :)

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

and I imagine it won't trigger

pnkfelix (Sep 11 2018 at 15:10, on Zulip):

What i'm trying to understand right now

pnkfelix (Sep 11 2018 at 15:10, on Zulip):

this bug

pnkfelix (Sep 11 2018 at 15:10, on Zulip):

is against AST-borrowck too, right?

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

what bug?

pnkfelix (Sep 11 2018 at 15:11, on Zulip):

#47349

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

well

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

I think aST borrowck incorrectly accepted the code

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

it doesn't today

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

https://play.rust-lang.org/?gist=4832ccb97b6e6964267d065a53122c56&version=nightly&mode=debug&edition=2015

pnkfelix (Sep 11 2018 at 15:13, on Zulip):

(thus the tag of it being stable-to-stable regression)

nikomatsakis (Sep 11 2018 at 15:13, on Zulip):

oh

nikomatsakis (Sep 11 2018 at 15:13, on Zulip):

i forgot about that

pnkfelix (Sep 11 2018 at 15:13, on Zulip):

We

nikomatsakis (Sep 11 2018 at 15:13, on Zulip):

yeah I think I fixed some stuff around here

nikomatsakis (Sep 11 2018 at 15:13, on Zulip):

that said

pnkfelix (Sep 11 2018 at 15:13, on Zulip):

We aren't going to change AST-borrowck to resolve things like this, right?

nikomatsakis (Sep 11 2018 at 15:13, on Zulip):

I think there are some similar-ish cases

nikomatsakis (Sep 11 2018 at 15:13, on Zulip):

where NLL reports errors

nikomatsakis (Sep 11 2018 at 15:13, on Zulip):

that AST borrowck missed

nikomatsakis (Sep 11 2018 at 15:13, on Zulip):

but I think maybe we can just close #47349

pnkfelix (Sep 11 2018 at 15:13, on Zulip):

Sure, it could be great if MIR-borrowck gave good enough diagnostics that no one would even see the AST-borrowck issue

nikomatsakis (Sep 11 2018 at 15:13, on Zulip):

I mean at this point... that was ... 6 months ago

pnkfelix (Sep 11 2018 at 15:14, on Zulip):

Ah so now you're thinking we may not need the diagnostics here?

nikomatsakis (Sep 11 2018 at 15:14, on Zulip):

well I don't know

pnkfelix (Sep 11 2018 at 15:14, on Zulip):

Well

nikomatsakis (Sep 11 2018 at 15:14, on Zulip):

I guess it's kind of been repurposed, effectively

pnkfelix (Sep 11 2018 at 15:14, on Zulip):

I think we can close it

nikomatsakis (Sep 11 2018 at 15:14, on Zulip):

but I am sort of leaning towards close it just now

pnkfelix (Sep 11 2018 at 15:14, on Zulip):

If someone wants to try to make an analysis to suggest appropriate code motion

pnkfelix (Sep 11 2018 at 15:14, on Zulip):

great

nikomatsakis (Sep 11 2018 at 15:14, on Zulip):

we don't have a specific action plan

nikomatsakis (Sep 11 2018 at 15:14, on Zulip):

right

pnkfelix (Sep 11 2018 at 15:14, on Zulip):

let them put it into clippy

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

ok, let's close

pnkfelix (Sep 11 2018 at 15:15, on Zulip):

great so we're done with the review

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

:tada:

nikomatsakis (Sep 11 2018 at 15:17, on Zulip):

so, @pnkfelix, the main question was the two "review follow-up tasks":

right

nikomatsakis (Sep 11 2018 at 15:17, on Zulip):

and in particular who would do them

pnkfelix (Sep 11 2018 at 15:18, on Zulip):

I think they were all under ui

pnkfelix (Sep 11 2018 at 15:18, on Zulip):

I think 1. was compile-fail tests that were ported to ui/compile-fail and had // ignore-compare-mode-nll

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

and 2. was ... other stuff in ui :stuck_out_tongue_wink:

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

but yeah, if judgements calls are involved, then my guess is that it should either be me, or we should ask people to volunteer to take a pass over the material but feel free to leave things for me or you to look at

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

I need to go now

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

ok

nikomatsakis (Sep 11 2018 at 15:21, on Zulip):

I think I will start by looking at that weird outlives error

pnkfelix (Sep 11 2018 at 15:21, on Zulip):

this has been good, I think. I'm assuming the best way to handle the meeting tonight is to just focus on I-nominated issues, right?

pnkfelix (Sep 11 2018 at 15:21, on Zulip):

unless we have formal agenda items already, let me look

pnkfelix (Sep 11 2018 at 15:21, on Zulip):

nope, nothing for tonight (yet)

nikomatsakis (Sep 11 2018 at 15:22, on Zulip):

this has been good, I think. I'm assuming the best way to handle the meeting tonight is to just focus on I-nominated issues, right?

I think so

nikomatsakis (Sep 11 2018 at 15:22, on Zulip):

I might try to put a bit of work into further diagnostic ideas...

nikomatsakis (Sep 11 2018 at 15:22, on Zulip):

ah, I don't know if there are untriaged issues...

nikomatsakis (Sep 11 2018 at 15:23, on Zulip):

answer, yes, yes there are

nikomatsakis (Sep 11 2018 at 15:23, on Zulip):

I'll take a look through those

nikomatsakis (Sep 11 2018 at 15:23, on Zulip):

you go home

nikomatsakis (Sep 11 2018 at 15:23, on Zulip):

:)

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

Maybe we need distinguished labels NLL-featurereq vs NLL-complete

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

or maybe NLL-complete is the right answer and we use triaging to delay implementation indefinitely.

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

what are you thinking of specifically?

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

I was looking at #53450 in particular

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

cases where people are filing AST-borrowck bugs, and then someone chimes in with "a hypothetical future version of NLL could fix it" and tags it with A-NLL

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

found anything?

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

no I meant I think #53450 is an instance of that; of a case where its an NLL-featurerequest

pnkfelix (Sep 25 2018 at 14:32, on Zulip):

@nikomatsakis so lets see, i guess we should first manually triage any unlabelled NLL issues?

nikomatsakis (Sep 25 2018 at 14:33, on Zulip):

probably a good idea

pnkfelix (Sep 25 2018 at 14:34, on Zulip):

here's a list

nikomatsakis (Sep 25 2018 at 14:34, on Zulip):

I'm surprised you excluded NLL-complete

nikomatsakis (Sep 25 2018 at 14:35, on Zulip):

I guess that is because of migration?

pnkfelix (Sep 25 2018 at 14:35, on Zulip):

I just want to label unlabelled things?

nikomatsakis (Sep 25 2018 at 14:35, on Zulip):

oic

nikomatsakis (Sep 25 2018 at 14:35, on Zulip):

I was looking at things that are not on the milestone

nikomatsakis (Sep 25 2018 at 14:35, on Zulip):

which is perhaps a similar list..

nikomatsakis (Sep 25 2018 at 14:35, on Zulip):

anyway, let's go over yours to start

nikomatsakis (Sep 25 2018 at 14:35, on Zulip):

NLL: need 3rd round of review comparing .stderr and .nll.stderr output #54528

pnkfelix (Sep 25 2018 at 14:36, on Zulip):

#54528 is NLL-diagnostics

pnkfelix (Sep 25 2018 at 14:36, on Zulip):

well

pnkfelix (Sep 25 2018 at 14:36, on Zulip):

maybe it is. :)

nikomatsakis (Sep 25 2018 at 14:36, on Zulip):

:)

pnkfelix (Sep 25 2018 at 14:36, on Zulip):

that is, such a task can in theory catch any kind of bug

nikomatsakis (Sep 25 2018 at 14:36, on Zulip):

right

pnkfelix (Sep 25 2018 at 14:37, on Zulip):

Its really a workitem

pnkfelix (Sep 25 2018 at 14:37, on Zulip):

not an issue per se

pnkfelix (Sep 25 2018 at 14:37, on Zulip):

We definitely need to do it, though

nikomatsakis (Sep 25 2018 at 14:37, on Zulip):

right

nikomatsakis (Sep 25 2018 at 14:37, on Zulip):

ok, well, who will do and when I guess is the question

pnkfelix (Sep 25 2018 at 14:37, on Zulip):

I don't know if you saw my panicked series of comments

nikomatsakis (Sep 25 2018 at 14:38, on Zulip):

no

pnkfelix (Sep 25 2018 at 14:38, on Zulip):

this: https://github.com/rust-lang/rust/pull/53438#discussion_r219811546

nikomatsakis (Sep 25 2018 at 14:39, on Zulip):

ah

nikomatsakis (Sep 25 2018 at 14:39, on Zulip):

good catch, anyway

pnkfelix (Sep 25 2018 at 14:39, on Zulip):

namely, our treatment of _ in NLL was a regression in ways that I don't think our issue tracker was tracking. I'm betting you were aware of it

pnkfelix (Sep 25 2018 at 14:39, on Zulip):

but I had certainly overlooked it

nikomatsakis (Sep 25 2018 at 14:39, on Zulip):

I belive we had a bug on this

nikomatsakis (Sep 25 2018 at 14:39, on Zulip):

but not from this source

pnkfelix (Sep 25 2018 at 14:39, on Zulip):

I didn't see an obvious one listed on PR #53438

nikomatsakis (Sep 25 2018 at 14:39, on Zulip):

I am thinking of https://github.com/rust-lang/rust/issues/53114

pnkfelix (Sep 25 2018 at 14:40, on Zulip):

hmm okay I guess that does count

nikomatsakis (Sep 25 2018 at 14:40, on Zulip):

which .. probably should be closed now?

nikomatsakis (Sep 25 2018 at 14:40, on Zulip):

well, test still doesn't pass nightly

nikomatsakis (Sep 25 2018 at 14:40, on Zulip):

but maybe PR just didn't make it into nightly yet

pnkfelix (Sep 25 2018 at 14:41, on Zulip):

PR #53438 only says that it "partially addresses #53114"

nikomatsakis (Sep 25 2018 at 14:41, on Zulip):

maybe worth pinging @Matthew Jasper to spell out what they think is left

nikomatsakis (Sep 25 2018 at 14:41, on Zulip):

and/or reviewing

pnkfelix (Sep 25 2018 at 14:41, on Zulip):

I think because there are still mismatched between the MIR and Want columsin the table it lists?

nikomatsakis (Sep 25 2018 at 14:41, on Zulip):

there is the "unsafe code check" aspect of this

nikomatsakis (Sep 25 2018 at 14:41, on Zulip):

though I factored that out into a different bug

pnkfelix (Sep 25 2018 at 14:41, on Zulip):

Though I'm not 100% sure that table was kept up to date with the state of the PR

nikomatsakis (Sep 25 2018 at 14:41, on Zulip):

and it's not really an NLL problem

nikomatsakis (Sep 25 2018 at 14:42, on Zulip):

yeah

nikomatsakis (Sep 25 2018 at 14:42, on Zulip):

ok well we should review

pnkfelix (Sep 25 2018 at 14:42, on Zulip):

right, so we won't close it yet

nikomatsakis (Sep 25 2018 at 14:44, on Zulip):

so I think https://github.com/rust-lang/rust/issues/53448 is a semi-dup of a series of bugs around normalization

nikomatsakis (Sep 25 2018 at 14:44, on Zulip):

it's not really NLL related per se

nikomatsakis (Sep 25 2018 at 14:44, on Zulip):

(moving on in the list, are we ready for that?)

pnkfelix (Sep 25 2018 at 14:44, on Zulip):

should we label it or remove the A-NLL label?

pnkfelix (Sep 25 2018 at 14:44, on Zulip):

I saw say we remove A-NLL

nikomatsakis (Sep 25 2018 at 14:46, on Zulip):

I should find some other issue it's a semi-dup of

nikomatsakis (Sep 25 2018 at 14:46, on Zulip):

I'm sort of working on a fix to these problems, actually...

nikomatsakis (Sep 25 2018 at 14:46, on Zulip):

...but anyway

pnkfelix (Sep 25 2018 at 14:47, on Zulip):

Do you think I should open a separate issue spawned off of #21114

pnkfelix (Sep 25 2018 at 14:47, on Zulip):

dedicated solely to the short-term resolution of adding a diagnostic?

pnkfelix (Sep 25 2018 at 14:48, on Zulip):

basically, it sounded like you wanted, longer term, to try more aggressive strategies

nikomatsakis (Sep 25 2018 at 14:48, on Zulip):

well

nikomatsakis (Sep 25 2018 at 14:48, on Zulip):

I was fantasizing about fixing this problem .. somehow

nikomatsakis (Sep 25 2018 at 14:48, on Zulip):

bu it does seem like a big endeavor

pnkfelix (Sep 25 2018 at 14:48, on Zulip):

So if we're serious about trying that, then we should keep some issue open

nikomatsakis (Sep 25 2018 at 14:49, on Zulip):

e.g. it would require some research etc

pnkfelix (Sep 25 2018 at 14:49, on Zulip):

Yes. As I think I mentioned elsewhere, it gives me flashbacks to the Static Drop RFC

nikomatsakis (Sep 25 2018 at 14:49, on Zulip):

to (a) figure out an alternate rule that works better and (b) judge what impact we could expect and (c) figure out how to do the migration

nikomatsakis (Sep 25 2018 at 14:49, on Zulip):

indeed

nikomatsakis (Sep 25 2018 at 14:49, on Zulip):

I think opening a "diagnostic issue" is a reasonable compromise for now

pnkfelix (Sep 25 2018 at 14:49, on Zulip):

This is a much more niche area than that

nikomatsakis (Sep 25 2018 at 14:49, on Zulip):

yes, but still

pnkfelix (Sep 25 2018 at 14:50, on Zulip):

but that's why they're flashbacks, and not ongoing foreground thoughts

pnkfelix (Sep 25 2018 at 14:50, on Zulip):

anyway, okay, I'll open a separate issue

pnkfelix (Sep 25 2018 at 14:50, on Zulip):

and maybe then untag A-NLL from this one

pnkfelix (Sep 25 2018 at 14:50, on Zulip):

since at that point I really do think its not an NLL thing

nikomatsakis (Sep 25 2018 at 14:53, on Zulip):

confirm

nikomatsakis (Sep 25 2018 at 14:55, on Zulip):

so looking a bit more broadly

nikomatsakis (Sep 25 2018 at 14:55, on Zulip):

at the non-milestone A-nll issues

nikomatsakis (Sep 25 2018 at 14:55, on Zulip):

in particular this list of issues here

nikomatsakis (Sep 25 2018 at 14:55, on Zulip):

well to start we never categorized 3rd round of review

nikomatsakis (Sep 25 2018 at 14:55, on Zulip):

I guess that this should be a milestone issue?

nikomatsakis (Sep 25 2018 at 14:55, on Zulip):

NLL: need 3rd round of review comparing .stderr and .nll.stderr output #54528

nikomatsakis (Sep 25 2018 at 14:55, on Zulip):

I mean that :point_up:

nikomatsakis (Sep 25 2018 at 14:56, on Zulip):

next is:

Invalid "variable does not need to be mutable" warning in 2018 edition with partially initialized structs #54499

nikomatsakis (Sep 25 2018 at 14:56, on Zulip):

this has to do with us repeating the AST borrow checker's behavior with cases like

let a: (u32, u32);
a.0 = 1;

which we currently only permit if a is marked as mut because I was lazy in #53258 (as you may recall)

nikomatsakis (Sep 25 2018 at 14:57, on Zulip):

feels like a milestone issue to me

pnkfelix (Sep 25 2018 at 14:57, on Zulip):

I agree about #54528

pnkfelix (Sep 25 2018 at 14:58, on Zulip):

#54499 hmm

pnkfelix (Sep 25 2018 at 14:59, on Zulip):

the current behavior, in terms of issuing the lint, is certainly bogus

pnkfelix (Sep 25 2018 at 14:59, on Zulip):

we definitely need to address that by RC2

nikomatsakis (Sep 25 2018 at 14:59, on Zulip):

my sense is that fixing the lint is enough for RC2

nikomatsakis (Sep 25 2018 at 14:59, on Zulip):

but if somebody wanted to do the more general fix

pnkfelix (Sep 25 2018 at 14:59, on Zulip):

Is there a I-needs-decision regarding the overall semantics of partial initialization?

nikomatsakis (Sep 25 2018 at 14:59, on Zulip):

I wouldn't be opposed, it'd require some slight thought to make it efficient

nikomatsakis (Sep 25 2018 at 14:59, on Zulip):

well

nikomatsakis (Sep 25 2018 at 15:00, on Zulip):

are there gray areas?

nikomatsakis (Sep 25 2018 at 15:00, on Zulip):

I suppose there are "levels"

pnkfelix (Sep 25 2018 at 15:00, on Zulip):

I would think that we have no choice but to be backwards compatible with whatever AST-borrowck allowed here

nikomatsakis (Sep 25 2018 at 15:00, on Zulip):

e.g., we could fix this case without permitting you to use the "aggregate" once it is fully initialized

nikomatsakis (Sep 25 2018 at 15:00, on Zulip):

though the latter would of course also be nice

nikomatsakis (Sep 25 2018 at 15:00, on Zulip):

I would think that we have no choice but to be backwards compatible with whatever AST-borrowck allowed here

well ast borrowck is pretty conservative

nikomatsakis (Sep 25 2018 at 15:00, on Zulip):

e.g., it requires mut

nikomatsakis (Sep 25 2018 at 15:01, on Zulip):

in fact

nikomatsakis (Sep 25 2018 at 15:01, on Zulip):
fn main() {
    let mut s: (i32, i32);
    s.0 = 3;
    s.1 = 4;
    println!("{} {}", s.0, s.1);
}
pnkfelix (Sep 25 2018 at 15:01, on Zulip):

right. and it also doesn't allow to use the aggregate...

nikomatsakis (Sep 25 2018 at 15:01, on Zulip):

doesn't even build w/o #![feature(nll)]

nikomatsakis (Sep 25 2018 at 15:01, on Zulip):

I think AST borrowck lets you assign but not read ?

nikomatsakis (Sep 25 2018 at 15:01, on Zulip):

try it yourself

pnkfelix (Sep 25 2018 at 15:01, on Zulip):

yeah

pnkfelix (Sep 25 2018 at 15:01, on Zulip):

there's an old bug about this I think

nikomatsakis (Sep 25 2018 at 15:02, on Zulip):

so being compatible with AST borrowck is no great feat :)

pnkfelix (Sep 25 2018 at 15:02, on Zulip):

famous last words

nikomatsakis (Sep 25 2018 at 15:02, on Zulip):

we'll see..

pnkfelix (Sep 25 2018 at 15:02, on Zulip):

okay. Lets see what we can get done for RC2

nikomatsakis (Sep 25 2018 at 15:02, on Zulip):

afaik we are already compatible tho

nikomatsakis (Sep 25 2018 at 15:02, on Zulip):

well maybe we see if somebody wants to investigate

nikomatsakis (Sep 25 2018 at 15:02, on Zulip):

I could see @Matthew Jasper or @davidtwco enjoying that

pnkfelix (Sep 25 2018 at 15:02, on Zulip):

sorry, I wasn't clear

pnkfelix (Sep 25 2018 at 15:03, on Zulip):

We'd want to be compatible

pnkfelix (Sep 25 2018 at 15:03, on Zulip):

but also provide an internal sensible semantics

davidtwco (Sep 25 2018 at 15:03, on Zulip):

(I'm not currently working on any NLL tasks, so I certainly could)

pnkfelix (Sep 25 2018 at 15:03, on Zulip):

i.e. we want compatibility and consistency...

nikomatsakis (Sep 25 2018 at 15:03, on Zulip):

(I'm not currently working on any NLL tasks, so I certainly could)

@davidtwco (did you see the context of what we're talking about?)

davidtwco (Sep 25 2018 at 15:04, on Zulip):

(I'm not currently working on any NLL tasks, so I certainly could)

@davidtwco (did you see the context of what we're talking about?)

@nikomatsakis I'm always watching. :detective:

pnkfelix (Sep 25 2018 at 15:05, on Zulip):

hmm, should #21232 be on an NLL milestone?

pnkfelix (Sep 25 2018 at 15:05, on Zulip):

i.e. it seems like, if we're going to make explicit decisions there, this would be the time to do so

nikomatsakis (Sep 25 2018 at 15:06, on Zulip):

I'm ok w/ putting it on the milestone

pnkfelix (Sep 25 2018 at 15:06, on Zulip):

I'm going to at least tag it with A-NLL

nikomatsakis (Sep 25 2018 at 15:06, on Zulip):

it's just not a blocker

nikomatsakis (Sep 25 2018 at 15:06, on Zulip):

i.e., if we are short on time, can always "bump" it

pnkfelix (Sep 25 2018 at 15:06, on Zulip):

I don't know whether to call it NLL-complete or NLL-sound

nikomatsakis (Sep 25 2018 at 15:07, on Zulip):

sounds like complete to me

nikomatsakis (Sep 25 2018 at 15:07, on Zulip):

in what sense could it be sound?

pnkfelix (Sep 25 2018 at 15:08, on Zulip):

we could choose to start rejecting the assignments

nikomatsakis (Sep 25 2018 at 15:08, on Zulip):

well

nikomatsakis (Sep 25 2018 at 15:08, on Zulip):

not unless we want to break compat

pnkfelix (Sep 25 2018 at 15:08, on Zulip):

yep

nikomatsakis (Sep 25 2018 at 15:08, on Zulip):

(at least for mut)

pnkfelix (Sep 25 2018 at 15:08, on Zulip):

we're doing it elsewhere. this would just be ...

pnkfelix (Sep 25 2018 at 15:08, on Zulip):

...worse ...

pnkfelix (Sep 25 2018 at 15:08, on Zulip):

And harder to justify

pnkfelix (Sep 25 2018 at 15:08, on Zulip):

since this is not an unsoundness per se

nikomatsakis (Sep 25 2018 at 15:08, on Zulip):

I feel like the only place we've broken compat have been bug fixes around match?

nikomatsakis (Sep 25 2018 at 15:08, on Zulip):

are there other example?

pnkfelix (Sep 25 2018 at 15:08, on Zulip):

Just a source of toe-stubbage

pnkfelix (Sep 25 2018 at 15:09, on Zulip):

I think I had one

nikomatsakis (Sep 25 2018 at 15:09, on Zulip):

in particular, it's only toe-stubbage because we don't handle it correctly

pnkfelix (Sep 25 2018 at 15:09, on Zulip):

but I'd have to look for it

nikomatsakis (Sep 25 2018 at 15:09, on Zulip):

(right?)

nikomatsakis (Sep 25 2018 at 15:09, on Zulip):

well I mean for some def'n of "correct" :)

nikomatsakis (Sep 25 2018 at 15:09, on Zulip):

but I mean we could accept it in a sound way without any "undue hardship" on our model

pnkfelix (Sep 25 2018 at 15:09, on Zulip):

by "handle it correctly", you are already assuming it should be accepted. :)

nikomatsakis (Sep 25 2018 at 15:09, on Zulip):

yes, I realized that :)

pnkfelix (Sep 25 2018 at 15:09, on Zulip):

Yes I agree with that.

pnkfelix (Sep 25 2018 at 15:10, on Zulip):

Anyway I'll tag with NLL-complete for now

nikomatsakis (Sep 25 2018 at 15:10, on Zulip):

it's hard to imagine many crates are relying on the existing behavior, that said

nikomatsakis (Sep 25 2018 at 15:12, on Zulip):

anyway ok let's move on

nikomatsakis (Sep 25 2018 at 15:12, on Zulip):

I guess we could bring it up in lang team mtg

nikomatsakis (Sep 25 2018 at 15:12, on Zulip):

I don't envision a lot of controversy

pnkfelix (Sep 25 2018 at 15:13, on Zulip):

okay, so: "High memory usage compiling keccak benchmark" #54208

pnkfelix (Sep 25 2018 at 15:15, on Zulip):

not sure what to do with this with respect to milestones

nikomatsakis (Sep 25 2018 at 15:15, on Zulip):

keccak 339,180.00 913,876.00 269.44

nikomatsakis (Sep 25 2018 at 15:15, on Zulip):

that's the nll dashboard data

nikomatsakis (Sep 25 2018 at 15:16, on Zulip):

yeah, I don't know either

nikomatsakis (Sep 25 2018 at 15:16, on Zulip):

it is certainly ungreat to use 1GB of ram

nikomatsakis (Sep 25 2018 at 15:16, on Zulip):

there is a lot of code here

nikomatsakis (Sep 25 2018 at 15:16, on Zulip):

I think there are some macros that expand out to some dense control flow

pnkfelix (Sep 25 2018 at 15:16, on Zulip):

I suppose we could start by at least gathering stats on which dataflow's are using the most space?

nikomatsakis (Sep 25 2018 at 15:17, on Zulip):

conceivably

nikomatsakis (Sep 25 2018 at 15:17, on Zulip):

I wonder if njn is still working on this

pnkfelix (Sep 25 2018 at 15:17, on Zulip):

(or does the massif data already tell us that level of precision?)

pnkfelix (Sep 25 2018 at 15:17, on Zulip):

njn commented on it yesteday

nikomatsakis (Sep 25 2018 at 15:17, on Zulip):

I'm not sure

pnkfelix (Sep 25 2018 at 15:18, on Zulip):

oh njn did give answers to teh questions about the distinct dataflow calls

pnkfelix (Sep 25 2018 at 15:18, on Zulip):

"In each case num_blocks is 25,994, and bits_per_block is 94,972 in the first two and 83,308 in the third.'

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

I see

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

lots of bits

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

maybe we need to be smarter

pnkfelix (Sep 25 2018 at 15:20, on Zulip):

in terms of leveraging the tree structure of move-paths

pnkfelix (Sep 25 2018 at 15:20, on Zulip):

i.e. not creating indexes for all the children

nikomatsakis (Sep 25 2018 at 15:20, on Zulip):

it's unclear how they are distributed and so forth

nikomatsakis (Sep 25 2018 at 15:20, on Zulip):

yes, there seems to be room for improvement

nikomatsakis (Sep 25 2018 at 15:20, on Zulip):

I guess my sense here is that this is a "nice to have" w/r/t the milestones

nikomatsakis (Sep 25 2018 at 15:20, on Zulip):

but we are in a decent state and it may be worth looking if we can do something here

pnkfelix (Sep 25 2018 at 15:21, on Zulip):

So, I actually want to try to wrap up so I can go home and call my dad for his birthday before Logan has to eat+go to bed.

nikomatsakis (Sep 25 2018 at 15:21, on Zulip):

yep

pnkfelix (Sep 25 2018 at 15:21, on Zulip):

we still have a couple more issues, diagnostic stuff

nikomatsakis (Sep 25 2018 at 15:22, on Zulip):

I'm going to add https://github.com/rust-lang/rust/issues/54256 to the milestone as a nice to hvae, too

pnkfelix (Sep 25 2018 at 15:22, on Zulip):

I'll fold #54382 in with #54556, in terms of the milestone marking

pnkfelix (Sep 25 2018 at 15:24, on Zulip):

If there's other stuff you want to chat about, feel free to throw it on here. I'm hoping I'll be back online circa 1:30 or 2PM EST, based on how well Logan's bedtimes have been going lately.

nikomatsakis (Sep 25 2018 at 15:25, on Zulip):

k

nikomatsakis (Sep 25 2018 at 15:25, on Zulip):

I'm gonna try to catch up on reviews first probably

pnkfelix (Oct 02 2018 at 13:45, on Zulip):

okay, I've added three links to the NLL Triage Paper

pnkfelix (Oct 02 2018 at 13:46, on Zulip):

Uncategorized, Unmilestoned, and Unassigned issues

pnkfelix (Oct 02 2018 at 13:46, on Zulip):

I actually wanted to ask you

pnkfelix (Oct 02 2018 at 13:47, on Zulip):

how should we categorize "NLL: need 3rd round of review comparing .stderr and .nll.stderr output" #54528

pnkfelix (Oct 02 2018 at 13:47, on Zulip):

we don't have a label for "work item"

pnkfelix (Oct 02 2018 at 13:48, on Zulip):

I had originally thought we could tag it as NLL-diagnostics ... but the problem is that the whole point of the exercise, in my head at least, is to identify any kind of bug

pnkfelix (Oct 02 2018 at 13:48, on Zulip):

In other words, the bugs that can be identified via this work item are of any kind.

nikomatsakis (Oct 02 2018 at 13:49, on Zulip):

good question...

pnkfelix (Oct 02 2018 at 13:49, on Zulip):

still that's the sort of subtlety that may simply not matter here. the Issue has a milestone and is assigned to me

pnkfelix (Oct 02 2018 at 13:49, on Zulip):

so maybe its just not worth worrying about.

nikomatsakis (Oct 02 2018 at 13:49, on Zulip):

it doesn't matter that much I wouldn't think

nikomatsakis (Oct 02 2018 at 13:49, on Zulip):

but we could just give it all the labels :)

pnkfelix (Oct 02 2018 at 13:49, on Zulip):

okay. I'm going to tag it as NLL-diagn...

pnkfelix (Oct 02 2018 at 13:49, on Zulip):

oh I like that option better

pnkfelix (Oct 02 2018 at 13:51, on Zulip):

Okay, so among what's left of Uncategorized

pnkfelix (Oct 02 2018 at 13:51, on Zulip):

"Lifetime inference failed on HRTB input" #54124, but I'm not sure why this is tagged as NLL? Because it caused an ICE on NLL alone?

pnkfelix (Oct 02 2018 at 13:51, on Zulip):

yes I guess so

pnkfelix (Oct 02 2018 at 13:52, on Zulip):

okay and the current hypothesis is that the compiler should be emitting an error here

pnkfelix (Oct 02 2018 at 13:52, on Zulip):

so that would make this NLL-sound

nikomatsakis (Oct 02 2018 at 13:52, on Zulip):

I suppose

pnkfelix (Oct 02 2018 at 13:52, on Zulip):

next, "handle user type annotations in NLL for complex patterns" #54570

pnkfelix (Oct 02 2018 at 13:52, on Zulip):

That's also NLL-sound

pnkfelix (Oct 02 2018 at 13:53, on Zulip):

(if we have time I have a Q for you about #54570, but lets get through triage first)

pnkfelix (Oct 02 2018 at 13:53, on Zulip):

next: ""approximate check" for outlives relations can miss matches" #54572

pnkfelix (Oct 02 2018 at 13:53, on Zulip):

that sounds like NLL-complete to me

nikomatsakis (Oct 02 2018 at 13:54, on Zulip):

I think this is probably NLL-deferred

nikomatsakis (Oct 02 2018 at 13:54, on Zulip):

but I guess it would be NLL-complete yes

nikomatsakis (Oct 02 2018 at 13:54, on Zulip):

I at least don't feel a ton of urgency about it, we're more precise than we've ever been :)

pnkfelix (Oct 02 2018 at 13:55, on Zulip):

okay, marked accordingly

pnkfelix (Oct 02 2018 at 13:55, on Zulip):

last: "error: internal compiler error: Accessing (*_310) with the kind Write(Move) shouldn't be possible" #54597

pnkfelix (Oct 02 2018 at 13:56, on Zulip):

unfortunately we don't have a standalone test case yet

nikomatsakis (Oct 02 2018 at 13:56, on Zulip):

hmm

pnkfelix (Oct 02 2018 at 13:56, on Zulip):

still we might be able to reverse engineer one

nikomatsakis (Oct 02 2018 at 13:56, on Zulip):

maybe

pnkfelix (Oct 02 2018 at 13:57, on Zulip):

pub fn as_array(&self) -> Option<&Vec<Value>>

nikomatsakis (Oct 02 2018 at 13:58, on Zulip):

I doubt that alone is enough to reproduce

pnkfelix (Oct 02 2018 at 13:59, on Zulip):

yes

nikomatsakis (Oct 02 2018 at 13:59, on Zulip):

seems like NLL-complete.. probably..?

nikomatsakis (Oct 02 2018 at 13:59, on Zulip):

presuming the code ought to compile :)

pnkfelix (Oct 02 2018 at 14:00, on Zulip):

Though I'm assuming this may be something with the attempt to return *array from the Some(array)

pnkfelix (Oct 02 2018 at 14:00, on Zulip):

(do we create a Write(Move) effect when we move out of something? I've forgotten...)

pnkfelix (Oct 02 2018 at 14:00, on Zulip):

yeah, I'll assign myself and tentatively tag as NLL-complete

pnkfelix (Oct 02 2018 at 14:01, on Zulip):

okay so everything's categorized. Next up, milestoning.

pnkfelix (Oct 02 2018 at 14:02, on Zulip):

Unmilestoned issues

pnkfelix (Oct 02 2018 at 14:02, on Zulip):

first up, "borrow-checker allows partial reinit of struct that has been moved away, but no use of it." #21232

nikomatsakis (Oct 02 2018 at 14:03, on Zulip):

I think this is not something we plan to fix for Rust 2018's initial release, right?

pnkfelix (Oct 02 2018 at 14:03, on Zulip):

well

pnkfelix (Oct 02 2018 at 14:03, on Zulip):

this is why its tagged as I-needs-decision

nikomatsakis (Oct 02 2018 at 14:03, on Zulip):

(I don't necessarily object to doing so)

nikomatsakis (Oct 02 2018 at 14:03, on Zulip):

I just don't feel a lot of urgency

pnkfelix (Oct 02 2018 at 14:03, on Zulip):

in terms of

pnkfelix (Oct 02 2018 at 14:03, on Zulip):

Again

pnkfelix (Oct 02 2018 at 14:03, on Zulip):

you are assuming we will make this work

pnkfelix (Oct 02 2018 at 14:04, on Zulip):

if that is the plan, then yes

pnkfelix (Oct 02 2018 at 14:04, on Zulip):

we don't need to fix it

pnkfelix (Oct 02 2018 at 14:04, on Zulip):

But if we're going to start rejecting such code

pnkfelix (Oct 02 2018 at 14:04, on Zulip):

then we should do it as part of 2018 edition

pnkfelix (Oct 02 2018 at 14:04, on Zulip):

Right?

nikomatsakis (Oct 02 2018 at 14:05, on Zulip):

But if we're going to start rejecting such code

e.g., reject any attempt to assign to a place if the root variable is not assigned

pnkfelix (Oct 02 2018 at 14:05, on Zulip):

I basically just want the lang team to sign off on "We're okay with continuing to accept the write-only cases and planning to eventually accept the generalization to write-and-then-read cases"

nikomatsakis (Oct 02 2018 at 14:05, on Zulip):

(right?)

nikomatsakis (Oct 02 2018 at 14:05, on Zulip):

maybe we should for consistency

nikomatsakis (Oct 02 2018 at 14:05, on Zulip):

we could always loosen up later

nikomatsakis (Oct 02 2018 at 14:05, on Zulip):

but I guess I assume we'll want to eventually make it work

nikomatsakis (Oct 02 2018 at 14:06, on Zulip):

it feels annoying to have to maintain 2015 vs 2018 behavior

pnkfelix (Oct 02 2018 at 14:06, on Zulip):

well

pnkfelix (Oct 02 2018 at 14:06, on Zulip):

...

pnkfelix (Oct 02 2018 at 14:06, on Zulip):

as in, if we start rejecting

pnkfelix (Oct 02 2018 at 14:06, on Zulip):

then that is annoying

pnkfelix (Oct 02 2018 at 14:06, on Zulip):

in terms of edition differentiation

nikomatsakis (Oct 02 2018 at 14:08, on Zulip):

right, it just means we have to do more work

nikomatsakis (Oct 02 2018 at 14:08, on Zulip):

but then the current state is weird and confusing

nikomatsakis (Oct 02 2018 at 14:10, on Zulip):

I don't care, I say whatever you want @pnkfelix :)

nikomatsakis (Oct 02 2018 at 14:11, on Zulip):

I guess I'm personally inclined to do less work and hence keep status quo

pnkfelix (Oct 02 2018 at 14:17, on Zulip):

sorry for the pause; felt obligated to write response to recent comment on that ticket

pnkfelix (Oct 02 2018 at 14:17, on Zulip):

Without a decision, it would be sort of weird to milestone this

nikomatsakis (Oct 02 2018 at 14:17, on Zulip):

no worries, just read your comment

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

sounds good

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

I did a little pre-scouting

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

added a few things to the milestone

pnkfelix (Oct 02 2018 at 14:18, on Zulip):

okay,so what's left other than #21232

pnkfelix (Oct 02 2018 at 14:18, on Zulip):

lets see: "error: internal compiler error: Accessing (*_310) with the kind Write(Move) shouldn't be possible" #54597 we already discussed

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

basically memory use of keccak

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

lets see: "error: internal compiler error: Accessing (*_310) with the kind Write(Move) shouldn't be possible" #54597 we already discussed

I put that on milestone for now

pnkfelix (Oct 02 2018 at 14:19, on Zulip):

ok

nikomatsakis (Oct 02 2018 at 14:19, on Zulip):

seems like something we want to at least try to resolve

nikomatsakis (Oct 02 2018 at 14:19, on Zulip):

presuming we can reproduce

pnkfelix (Oct 02 2018 at 14:19, on Zulip):

sure

pnkfelix (Oct 02 2018 at 14:19, on Zulip):

so

pnkfelix (Oct 02 2018 at 14:19, on Zulip):

What to do about keccak

nikomatsakis (Oct 02 2018 at 14:20, on Zulip):

I guess the question is whether we accept the memory use or not

nikomatsakis (Oct 02 2018 at 14:20, on Zulip):

I have been previously assuming "eh good enough"

nikomatsakis (Oct 02 2018 at 14:20, on Zulip):

but I don't know on what basis I made that call

nikomatsakis (Oct 02 2018 at 14:21, on Zulip):

I guess the question is how representative it is

nikomatsakis (Oct 02 2018 at 14:21, on Zulip):

in terms of our benchmarks, it stands out

nikomatsakis (Oct 02 2018 at 14:21, on Zulip):

I think it's because it has a very big control-flow graph

nikomatsakis (Oct 02 2018 at 14:21, on Zulip):

and a lot of variables

nikomatsakis (Oct 02 2018 at 14:21, on Zulip):

and our bitset representation scales as O(N^2) for that case

pnkfelix (Oct 02 2018 at 14:21, on Zulip):

i don't think I've ever looked at its source code

pnkfelix (Oct 02 2018 at 14:22, on Zulip):

I wonder if there's a lot of correlation in the states of the variables

nikomatsakis (Oct 02 2018 at 14:22, on Zulip):

it's got some macros

nikomatsakis (Oct 02 2018 at 14:22, on Zulip):

the actual source isn't that long

nikomatsakis (Oct 02 2018 at 14:22, on Zulip):

but the macros repeat things a bunch of times

nikomatsakis (Oct 02 2018 at 14:22, on Zulip):

we've got a lot of milestone issues: 22

nikomatsakis (Oct 02 2018 at 14:23, on Zulip):

we've got till Oct 25 (earlier, really) to close them

nikomatsakis (Oct 02 2018 at 14:23, on Zulip):

that means we gotta get crackin'!

nikomatsakis (Oct 02 2018 at 14:23, on Zulip):

I guess my sense is that this is not, ultimately, an RC2 blocker

pnkfelix (Oct 02 2018 at 14:23, on Zulip):

I simply dont see the keccak thing as something that would block us from shippihng

nikomatsakis (Oct 02 2018 at 14:23, on Zulip):

it's sort of an outlier

pnkfelix (Oct 02 2018 at 14:23, on Zulip):

right

nikomatsakis (Oct 02 2018 at 14:23, on Zulip):

we can improve it at any point

nikomatsakis (Oct 02 2018 at 14:23, on Zulip):

ok so I think we should put it as NLL-deferred and stop worrying about it

pnkfelix (Oct 02 2018 at 14:23, on Zulip):

well

pnkfelix (Oct 02 2018 at 14:24, on Zulip):

either we tagged as NLL-deferred

pnkfelix (Oct 02 2018 at 14:24, on Zulip):

or we put it on the Release milestone

pnkfelix (Oct 02 2018 at 14:24, on Zulip):

what's the likelihood we'd put effort into this post RC2?

pnkfelix (Oct 02 2018 at 14:24, on Zulip):

but pre-release?

pnkfelix (Oct 02 2018 at 14:24, on Zulip):

I'm okay with tagging as NLL-deferred

pnkfelix (Oct 02 2018 at 14:25, on Zulip):

just wanted to throw the notion out that

pnkfelix (Oct 02 2018 at 14:25, on Zulip):

if we put it on Release milestone instead

pnkfelix (Oct 02 2018 at 14:25, on Zulip):

that might .... be better optics ...

pnkfelix (Oct 02 2018 at 14:25, on Zulip):

for people who are concerned about NLL's impact on compiler perf

pnkfelix (Oct 02 2018 at 14:25, on Zulip):

but I dont' want to do it

pnkfelix (Oct 02 2018 at 14:25, on Zulip):

as mere lip service

pnkfelix (Oct 02 2018 at 14:26, on Zulip):

and then end up punting on it later anyway

nikomatsakis (Oct 02 2018 at 14:26, on Zulip):

:)

nikomatsakis (Oct 02 2018 at 14:26, on Zulip):

I dont' have a strong opinion

nikomatsakis (Oct 02 2018 at 14:26, on Zulip):

I think it's ok to put it on release

nikomatsakis (Oct 02 2018 at 14:26, on Zulip):

in particular: if we close the rest of stuff

pnkfelix (Oct 02 2018 at 14:26, on Zulip):

actually

nikomatsakis (Oct 02 2018 at 14:26, on Zulip):

then this is on the "short list" of things to look at, I think

pnkfelix (Oct 02 2018 at 14:26, on Zulip):

what is interaction with Polonius here

pnkfelix (Oct 02 2018 at 14:27, on Zulip):

I've forgotten whether Polonius will end up replacing the dataflow module

nikomatsakis (Oct 02 2018 at 14:27, on Zulip):

though I do wonder if it would be better to work on polonius and see if we can address it through there (in particular, datafrog's use of vecs of tuples may help here — or maybe hurt!)

nikomatsakis (Oct 02 2018 at 14:27, on Zulip):

right

pnkfelix (Oct 02 2018 at 14:27, on Zulip):

or if it "merely" replaces just the borrow_check module?

nikomatsakis (Oct 02 2018 at 14:27, on Zulip):

well, it doesn't now

nikomatsakis (Oct 02 2018 at 14:27, on Zulip):

but I think it should

pnkfelix (Oct 02 2018 at 14:27, on Zulip):

Okay

pnkfelix (Oct 02 2018 at 14:27, on Zulip):

that's enough to convince me

nikomatsakis (Oct 02 2018 at 14:27, on Zulip):

or at least I think maybe it should :)

pnkfelix (Oct 02 2018 at 14:27, on Zulip):

that we should prioritize Polonius investigation over keccak

pnkfelix (Oct 02 2018 at 14:27, on Zulip):

for the middle-term, at least

pnkfelix (Oct 02 2018 at 14:28, on Zulip):

(where short-term is RC2)

pnkfelix (Oct 02 2018 at 14:28, on Zulip):

and middle-term is ... everything we do before we look at NLL-deferred again)

pnkfelix (Oct 02 2018 at 14:28, on Zulip):

so lets tag as NLL-deferred, sounds good

nikomatsakis (Oct 02 2018 at 14:28, on Zulip):

I'm debating about what to do with my morning

nikomatsakis (Oct 02 2018 at 14:29, on Zulip):

one thing I could see: try to write out mentoring instrutions and things

nikomatsakis (Oct 02 2018 at 14:29, on Zulip):

another thing: try to fix the bugs

nikomatsakis (Oct 02 2018 at 14:29, on Zulip):

I am sort of leaning towards the latter

nikomatsakis (Oct 02 2018 at 14:29, on Zulip):

at least, for user-type annotations

nikomatsakis (Oct 02 2018 at 14:29, on Zulip):

try to knock out some of the "easier" cases

pnkfelix (Oct 02 2018 at 14:29, on Zulip):

... you do know I'm working on that, right?

nikomatsakis (Oct 02 2018 at 14:29, on Zulip):

just because I am starting to feel the "latency pinch"

nikomatsakis (Oct 02 2018 at 14:29, on Zulip):

you're working on the "complex patterns" case, right?

pnkfelix (Oct 02 2018 at 14:30, on Zulip):

I've gotten the projections into a type working, at least for the one case you put in your patterns.rs test

nikomatsakis (Oct 02 2018 at 14:30, on Zulip):

cool

nikomatsakis (Oct 02 2018 at 14:30, on Zulip):

I didn't plan to touch that part

pnkfelix (Oct 02 2018 at 14:30, on Zulip):

and I had just started looking at uninitialized variables

pnkfelix (Oct 02 2018 at 14:30, on Zulip):

when you pinged me about NLL triage

nikomatsakis (Oct 02 2018 at 14:30, on Zulip):

but there are cases like NLL doesn't respect user types in closure signatures #54692

nikomatsakis (Oct 02 2018 at 14:30, on Zulip):

that are independent

pnkfelix (Oct 02 2018 at 14:30, on Zulip):

ah okay. I'm happy to let you work that out.

nikomatsakis (Oct 02 2018 at 14:31, on Zulip):

and I'm apparently assigned to nll: respect user type annotations with constants in expressions #54571 ...

nikomatsakis (Oct 02 2018 at 14:31, on Zulip):

:)

nikomatsakis (Oct 02 2018 at 14:31, on Zulip):

ok, I'll poke at some of those cases I guess

nikomatsakis (Oct 02 2018 at 14:31, on Zulip):

they seem like good things to get nailed down

nikomatsakis (Oct 02 2018 at 14:31, on Zulip):

I gues the question is: within the milestone, what's got highest priority

nikomatsakis (Oct 02 2018 at 14:31, on Zulip):

I assume NLL-{sound,complete} things

nikomatsakis (Oct 02 2018 at 14:35, on Zulip):

@pnkfelix do you have time to do the "review"?

pnkfelix (Oct 02 2018 at 14:35, on Zulip):

you can hand it off to me

pnkfelix (Oct 02 2018 at 14:36, on Zulip):

or

pnkfelix (Oct 02 2018 at 14:36, on Zulip):

sorry I think I misunderstood the question

pnkfelix (Oct 02 2018 at 14:36, on Zulip):

I thought you were talking about reviewing a PR

nikomatsakis (Oct 02 2018 at 14:36, on Zulip):

nope

nikomatsakis (Oct 02 2018 at 14:36, on Zulip):

I meant "do you want me to put some time into that review this morning"

pnkfelix (Oct 02 2018 at 14:37, on Zulip):

reviewing the stuff on RC2 you mean?

nikomatsakis (Oct 02 2018 at 14:38, on Zulip):

I meant NLL: need 3rd round of review comparing .stderr and .nll.stderr output #54528

pnkfelix (Oct 02 2018 at 14:38, on Zulip):

I continue to figure that NLL-sound things take priority over NLL-complete

pnkfelix (Oct 02 2018 at 14:39, on Zulip):

Ah that

pnkfelix (Oct 02 2018 at 14:39, on Zulip):

that is already assigned to me, isn't it?

nikomatsakis (Oct 02 2018 at 14:39, on Zulip):

it is

pnkfelix (Oct 02 2018 at 14:39, on Zulip):

I plan to do it before October 25th

nikomatsakis (Oct 02 2018 at 14:39, on Zulip):

just wanted to be sure you're not overwhelmed

pnkfelix (Oct 02 2018 at 14:39, on Zulip):

I'm almost done with #54556

pnkfelix (Oct 02 2018 at 14:39, on Zulip):

In fact

pnkfelix (Oct 02 2018 at 14:39, on Zulip):

regarding #54556

pnkfelix (Oct 02 2018 at 14:39, on Zulip):

You had sort of nerd-sniped me there

nikomatsakis (Oct 02 2018 at 14:40, on Zulip):

:)

pnkfelix (Oct 02 2018 at 14:40, on Zulip):

where you said what you really wanted was an explanation for why a temp was being created

pnkfelix (Oct 02 2018 at 14:40, on Zulip):

I haven't started on that aspect yet, but it was the next thing on my list

pnkfelix (Oct 02 2018 at 14:40, on Zulip):

and I'm now thinking "Why am I waiting to do that to put up a PR here..."

nikomatsakis (Oct 02 2018 at 14:40, on Zulip):

it does seem separable

pnkfelix (Oct 02 2018 at 14:40, on Zulip):

okay

nikomatsakis (Oct 02 2018 at 14:40, on Zulip):

it does also seem awesome

nikomatsakis (Oct 02 2018 at 14:41, on Zulip):

but maybe not top priorioty?

nikomatsakis (Oct 02 2018 at 14:41, on Zulip):

(compared to NLL-sound)

pnkfelix (Oct 02 2018 at 14:41, on Zulip):

It might be a good thing for me to try to mentor, actually

nikomatsakis (Oct 02 2018 at 14:41, on Zulip):

(not to discourage you from doing it)

nikomatsakis (Oct 02 2018 at 14:41, on Zulip):

ah, yes, perhaps

pnkfelix (Oct 02 2018 at 14:41, on Zulip):

since it sounds ... relatively mechanical ... hopefully...

pnkfelix (Oct 02 2018 at 14:42, on Zulip):

shall we save the list of unassigned issues for the meeting itself?

pnkfelix (Oct 02 2018 at 14:43, on Zulip):

well maybe I can at least look over it and see if there's anything I want to assign to myself first

nikomatsakis (Oct 02 2018 at 14:43, on Zulip):

seems ok

nikomatsakis (Oct 02 2018 at 14:43, on Zulip):

I'm going to try and go through them a bit

nikomatsakis (Oct 02 2018 at 14:43, on Zulip):

and either fix or leave more notes

nikomatsakis (Oct 02 2018 at 14:43, on Zulip):

every time I do this I realize how much stuff there is to write-up in the rustc-guide

nikomatsakis (Oct 09 2018 at 13:01, on Zulip):

@pnkfelix do we want to touch base this morning?

pnkfelix (Oct 09 2018 at 13:01, on Zulip):

yeah we should

pnkfelix (Oct 09 2018 at 13:04, on Zulip):

I'll start working through the tasks for the meeting, and take notes here

nikomatsakis (Oct 09 2018 at 13:07, on Zulip):

ok

nikomatsakis (Oct 09 2018 at 13:07, on Zulip):

I should prob walk home

pnkfelix (Oct 09 2018 at 13:07, on Zulip):

Okay

pnkfelix (Oct 09 2018 at 13:07, on Zulip):

just as an FYI

nikomatsakis (Oct 09 2018 at 13:07, on Zulip):

I was thinking that this week I would try to tackle some more annotation cases; I'm annoyed that https://github.com/rust-lang/rust/pull/54757 took so long

pnkfelix (Oct 09 2018 at 13:08, on Zulip):

my parents are in town, so I'm going to leave in about 2 hours to go to the playground to be with them and Logan

nikomatsakis (Oct 09 2018 at 13:08, on Zulip):

but I suspect that the underlying bug was — as you suggest — plaguing some other PRs

pnkfelix (Oct 09 2018 at 13:08, on Zulip):

and then I'll be back online tonight to keep working

pnkfelix (Oct 09 2018 at 13:08, on Zulip):

but I'm also probably going to take PTO tomorrow to spend with them

nikomatsakis (Oct 09 2018 at 13:08, on Zulip):

ok. JFYI I'll be away on Friday (PTO)

nikomatsakis (Oct 09 2018 at 13:09, on Zulip):

I should probably file that

pnkfelix (Oct 09 2018 at 13:10, on Zulip):

I was thinking that this week I would try to tackle some more annotation cases; I'm annoyed that https://github.com/rust-lang/rust/pull/54757 took so long

OOH! It merged!

pnkfelix (Oct 09 2018 at 13:10, on Zulip):

/me :fireworks:

pnkfelix (Oct 09 2018 at 14:37, on Zulip):

@nikomatsakis when you get a chance, see if you can put a Milestone marker on #54779. It seems like it might qualify for an edition milestone ... except that it also seems a like a diagnostic corner case that should not block the edition shipping at any point...

nikomatsakis (Oct 09 2018 at 16:05, on Zulip):

I don't think it needs to block the edition per se, seeing as the current error is also bad iirc

pnkfelix (Oct 16 2018 at 13:51, on Zulip):

@nikomatsakis I'm betting you want to try to make plans for tonight's meeting. :)

pnkfelix (Oct 16 2018 at 13:51, on Zulip):

I started going through my check list but got distracted

pnkfelix (Oct 16 2018 at 13:53, on Zulip):

@nikomatsakis to keep myself honest, I'm going to mention #55085 here. But then I'm going to immediately tag it as NLL-fixed-by-NLL. :)

pnkfelix (Oct 16 2018 at 13:57, on Zulip):

More important: I want someone to take care of this: #55118

pnkfelix (Oct 16 2018 at 13:59, on Zulip):

I propose that we either put #54985 on the Release milestone or mark it as NLL-deferred. It certainly does not need to block RC2, in my opinion.

pnkfelix (Oct 16 2018 at 14:04, on Zulip):

I think that #54943 should go on the Release milestone. It seems important enough to not mark as "deferred", but since it only arises from unreachable code (IIUC), it is not a true soundness problem, and therefore need not block RC2?

nikomatsakis (Oct 16 2018 at 14:17, on Zulip):

@pnkfelix er sorry was doing reviews

pnkfelix (Oct 16 2018 at 14:18, on Zulip):

no need to apologize. Just keeping a log of my thoughts. I haven't taken much action yet apart from that on the listed issues.

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

@nikomatsakis to keep myself honest, I'm going to mention #55085 here. But then I'm going to immediately tag it as NLL-fixed-by-NLL. :)

I agree with all of your comments on that issue, and with the NLL-fixed-by-NLL assessment — and/or A-diagnostics

pnkfelix (Oct 16 2018 at 14:18, on Zulip):

ah good call on A-diagnostics

pnkfelix (Oct 16 2018 at 14:19, on Zulip):

seems like a general problem that people might think of good sol'ns to

nikomatsakis (Oct 16 2018 at 14:19, on Zulip):

both of those issues feel like things to fix at the "error formatting" layer

nikomatsakis (Oct 16 2018 at 14:19, on Zulip):

I've been pondering that for a while

nikomatsakis (Oct 16 2018 at 14:19, on Zulip):

might be worth even filing separate issues

nikomatsakis (Oct 16 2018 at 14:20, on Zulip):

but let's not get too distracted, maybe just cc @Esteban Küber :)

nikomatsakis (Oct 16 2018 at 14:20, on Zulip):

More important: I want someone to take care of this: #55118

I agree this makes sense, although I am sad

nikomatsakis (Oct 16 2018 at 14:20, on Zulip):

but obviously we should be testing what we ship

pnkfelix (Oct 16 2018 at 14:22, on Zulip):

I'm going to mark #53114 as NLL-deferred, I think

pnkfelix (Oct 16 2018 at 14:23, on Zulip):

I take it you are sad about #55118 because you want us to keep testing the -Z borrowck=mir form?

nikomatsakis (Oct 16 2018 at 14:23, on Zulip):

I propose that we either put #54985 on the Release milestone or mark it as NLL-deferred. It certainly does not need to block RC2, in my opinion.

strongly agree

nikomatsakis (Oct 16 2018 at 14:24, on Zulip):

I think that #54943 should go on the Release milestone. It seems important enough to not mark as "deferred", but since it only arises from unreachable code (IIUC), it is not a true soundness problem, and therefore need not block RC2?

I am not convinced it is a bug

nikomatsakis (Oct 16 2018 at 14:24, on Zulip):

but I think we should decide :)

pnkfelix (Oct 16 2018 at 14:24, on Zulip):

oh good point

nikomatsakis (Oct 16 2018 at 14:24, on Zulip):

in particular I think there are other sorts of lifetime annotations that behave similarly

nikomatsakis (Oct 16 2018 at 14:24, on Zulip):

I had some examples in mind but I forget now, maybe I'll try to come up with the examples again

nikomatsakis (Oct 16 2018 at 14:25, on Zulip):

I take it you are sad about #55118 because you want us to keep testing the -Z borrowck=mir form?

maybe "sad" was the wrong word. =) it's fine, it makes sense. I just want to migrate as fast as possible ;)

pnkfelix (Oct 16 2018 at 14:26, on Zulip):

yes yes ASAP

pnkfelix (Oct 16 2018 at 14:27, on Zulip):

before I mark #53114 as NLL-deferred ... the spawned off subissue: #54003 , has a decision from the lang team indicating that " we were generally in favor of emitting warnings about needing unsafe even on the right-hand side of let _ =."

pnkfelix (Oct 16 2018 at 14:28, on Zulip):

Warnings to me means "lint', which means something the user can override, which means not a soundness issue, which means not something that should block RC2.

pnkfelix (Oct 16 2018 at 14:28, on Zulip):

Does that sound like a plausible chain of reasoning?

nikomatsakis (Oct 16 2018 at 14:29, on Zulip):

it does

nikomatsakis (Oct 16 2018 at 14:29, on Zulip):

I also think that's a pretty sensible compromise

nikomatsakis (Oct 16 2018 at 14:29, on Zulip):

I can't recall if I participated in that discussion or not :)

pnkfelix (Oct 16 2018 at 14:30, on Zulip):

I think you were there. Not 100% certain

nikomatsakis (Oct 16 2018 at 14:30, on Zulip):

I have a vague recollection

pnkfelix (Nov 06 2018 at 15:00, on Zulip):

I'm realizing that I spent some time just now doing issue triage, and its possible that some people would prefer to see a record of such things here rather than wade through github notiifications...

pnkfelix (Nov 06 2018 at 15:00, on Zulip):

So let me recount what I did, or at least post links to the issues I triaged.

pnkfelix (Nov 06 2018 at 15:04, on Zulip):

"ICE: librustc/mir/tcx.rs:68: extracting field of non-tuple non-adt: Ty { ty: _ }" #55552 - tagged as NLL-complete, P-high. Release milestone

pnkfelix (Nov 06 2018 at 15:17, on Zulip):

"NLL: review uses of revisions: ast mir that are already covered by compare-mode" #55312 - tagged sa NLL-diagnostics, P-medium. No milestone.

pnkfelix (Nov 06 2018 at 15:17, on Zulip):

"NLL Diagnostic Review 3: Diagnostic mentions lack of initialization instead of incorrect mutability" #55652 - tagged as P-medium. No milestone.

pnkfelix (Nov 06 2018 at 15:18, on Zulip):

"NLL Diagnostic Review 3: Unions not reinitialized after assignment into field" #55651 - tagged as P-high, no milestone.

pnkfelix (Nov 06 2018 at 15:19, on Zulip):

"NLL error on closure, but not on equivalent function" #55526 - tagged as P-high, no milestone (saved by migration mode)

pnkfelix (Nov 06 2018 at 15:20, on Zulip):

"ICE with NLL and elided lifetimes" #55394 - tagged as P-high, no milestone. (The ICE does not occur under migration mode.)

pnkfelix (Nov 06 2018 at 15:21, on Zulip):

"[regression - rust2018]: unused_mut lint false positives on nightly" #55344 - left for discussion of P-xxx at meeting tonight. No milestone (I dont think we'd backport a fix to this; but feel free to convince me I'm wrong!)

pnkfelix (Nov 06 2018 at 15:22, on Zulip):

"NLL: ui/E0501.rs refers to "first borrow" but not "second borrow"" #55314 - tagged as P-medium, no milestone. Also put E-needs-mentor because I'm guessing this would be a decent mentorship bug. (Or maybe i'm wrong and its just nasty to subject a newcomer to our diagnostics logic...)

pnkfelix (Nov 06 2018 at 15:24, on Zulip):

" NLL doesn't check that user type annotations are well-formed in unreachable code" #54943 - tagging as P-high, and leaving on the Release milestone.

pnkfelix (Nov 06 2018 at 15:25, on Zulip):

"nll: respect user type annotations with constants in patterns" #55511 - tagging as P-high, leaving on Release milestone

pnkfelix (Nov 06 2018 at 15:26, on Zulip):

"NLL: lost "borrowed value needs to live until here" (diagnostic regression compared to AST-borrowck)" #54382 -
tagging as P-high, no milestone. Though in hindsight I might be showing my bias (in terms of my own personal interest/curiosity) in tagging that as P-high. If someone objects, feel free.

pnkfelix (Nov 06 2018 at 15:27, on Zulip):

"NLL gives weird/incorrect errors when enumerating parallel iterator" #52147 - tagging as P-medium. Removed from Release milestone.

Jake Goulding (Nov 06 2018 at 16:40, on Zulip):

rather than wade through github notiifications

Also for those of us who aren't subscribed to those issues, it's kind of nice to see the high-level scene

pnkfelix (Nov 06 2018 at 21:14, on Zulip):

FYI: we spent some time discussing "[regression - rust2018]: unused_mut lint false positives on nightly" #55344 at the NLL meeting. And then shortly after it was over, after a bit of reflection, I made the decision to tag it as P-medium. I do want to resolve it, but I just don't think it feels like a P-high issue.

Last update: Nov 21 2019 at 14:35UTC