Stream: t-compiler/wg-nll

Topic: weekly meeting July 17


pnkfelix (Jul 17 2018 at 19:30, on Zulip):

hi @everyone

pnkfelix (Jul 17 2018 at 19:31, on Zulip):

as usual, feel free to post any status information on the NLL triage Paper

davidtwco (Jul 17 2018 at 19:32, on Zulip):

o/

pnkfelix (Jul 17 2018 at 19:33, on Zulip):

so lets try to keep things to 30min tonight

pnkfelix (Jul 17 2018 at 19:33, on Zulip):

if we go over, that's fine, but I don't want us to keep Niko past then

pnkfelix (Jul 17 2018 at 19:33, on Zulip):

(and, you know, I have my own selfish reasons to try to end "on time")

Santiago Pastorino (Jul 17 2018 at 19:34, on Zulip):

:+1:

pnkfelix (Jul 17 2018 at 19:34, on Zulip):

so, where are we: Niko and I had some discussing in the "making plans" topic earlier today

pnkfelix (Jul 17 2018 at 19:35, on Zulip):

we've made great progress on diagnostics, especially region error stuff as I understand it.

nikomatsakis (Jul 17 2018 at 19:36, on Zulip):

yes, though I think there's still a few "follow-up" items there -- I plan to try and open up some specific issues tomorrow (had hoped to do it today, but didn't get to it)

pnkfelix (Jul 17 2018 at 19:37, on Zulip):

Are there still contributors who are not in our group on github?

nikomatsakis (Jul 17 2018 at 19:37, on Zulip):

I just added a few today, not sure if there are more

nikomatsakis (Jul 17 2018 at 19:38, on Zulip):

so looking at the issue list for the milestone, I think we're doing pretty good

pnkfelix (Jul 17 2018 at 19:38, on Zulip):

I ask Because I'm trying to determine if I should be worried about "unassigned issues" in the preview 2 list

nikomatsakis (Jul 17 2018 at 19:38, on Zulip):

yes, I think we should try to assign things, let me see...

pnkfelix (Jul 17 2018 at 19:38, on Zulip):

interesting, your list and mine are different

pnkfelix (Jul 17 2018 at 19:38, on Zulip):

oh

pnkfelix (Jul 17 2018 at 19:38, on Zulip):

mine was missing the milestone (fixed now!)

nikomatsakis (Jul 17 2018 at 19:38, on Zulip):

:)

nikomatsakis (Jul 17 2018 at 19:39, on Zulip):

well so https://github.com/rust-lang/rust/issues/52034 I would assign to @DPC but I don't think they accepted my invitation yet :)

nikomatsakis (Jul 17 2018 at 19:39, on Zulip):

or else I sent it to the wrong person =)

pnkfelix (Jul 17 2018 at 19:40, on Zulip):

anyway it seems like we are on a good trajectory for getting diagnostics into acceptable shape for Preview 2

nikomatsakis (Jul 17 2018 at 19:40, on Zulip):

ok, I assigned @mikhail-m1 to the ones that they are working on

pnkfelix (Jul 17 2018 at 19:40, on Zulip):

As for performance ...

nikomatsakis (Jul 17 2018 at 19:40, on Zulip):

so I think that unassigned thing are generally unassigned, apart from #52034

nikomatsakis (Jul 17 2018 at 19:41, on Zulip):

and we should discuss them perhaps

pnkfelix (Jul 17 2018 at 19:41, on Zulip):

... has tuple-stress gotten worse ?

nikomatsakis (Jul 17 2018 at 19:41, on Zulip):

I'm not sure what else to do with #52028 -- the worst is over now (no more 12GiB peak memory usage)

Matthew Jasper (Jul 17 2018 at 19:41, on Zulip):

I don't think I'm in the wg-NLL group.

nikomatsakis (Jul 17 2018 at 19:41, on Zulip):

it doesn't really matter if you are in the group, but I can add you anyway :)

nikomatsakis (Jul 17 2018 at 19:42, on Zulip):

that is, the team has evolved to mostly just be a way to let me assign issues

pnkfelix (Jul 17 2018 at 19:42, on Zulip):

@nikomatsakis what you don't want us to start using rfcbot for stuff in NLL?

pnkfelix (Jul 17 2018 at 19:42, on Zulip):

(that was joke)

nikomatsakis (Jul 17 2018 at 19:42, on Zulip):

certainly not :)

nikomatsakis (Jul 17 2018 at 19:43, on Zulip):

I don't think I'm in the wg-NLL group.

you are now :)

nikomatsakis (Jul 17 2018 at 19:43, on Zulip):

so should we talk about the unassigned issues?

nikomatsakis (Jul 17 2018 at 19:43, on Zulip):

looks like https://github.com/rust-lang/rust/issues/49579 just needs a test -- we could remove from the milestone I think

pnkfelix (Jul 17 2018 at 19:44, on Zulip):

@nikomatsakis okay lets do that

nikomatsakis (Jul 17 2018 at 19:44, on Zulip):

(removed from milestone)

nikomatsakis (Jul 17 2018 at 19:44, on Zulip):

#51027 -- "NLL diagnostics replaced nice closure errors w/ indecipherable free region errors"

nikomatsakis (Jul 17 2018 at 19:44, on Zulip):

I was saying earlier, I think the time has come to think about fixing this one

nikomatsakis (Jul 17 2018 at 19:45, on Zulip):

that is, we should try to detect some of the specific cases here and give a more tailored message

Santiago Pastorino (Jul 17 2018 at 19:45, on Zulip):

looks like https://github.com/rust-lang/rust/issues/49579 just needs a test -- we could remove from the milestone I think

I can add the test after I finish my task

davidtwco (Jul 17 2018 at 19:45, on Zulip):

I hadn't noticed the cc on that issue.

nikomatsakis (Jul 17 2018 at 19:45, on Zulip):

@David Wood which are you referring to, #51027?

pnkfelix (Jul 17 2018 at 19:46, on Zulip):

(deleted)

pnkfelix (Jul 17 2018 at 19:46, on Zulip):

(deleted)

davidtwco (Jul 17 2018 at 19:46, on Zulip):

Yeah, #51027.

nikomatsakis (Jul 17 2018 at 19:46, on Zulip):

are you interested in trying to tackle that? It seems like we are within striking distance of the message that @Esteban K├╝ber suggested at the end

davidtwco (Jul 17 2018 at 19:46, on Zulip):

Yeah, I can work on that.

nikomatsakis (Jul 17 2018 at 19:46, on Zulip):

in particular, we have all the right bits highlighted, we're just not using the ideal wording

nikomatsakis (Jul 17 2018 at 19:47, on Zulip):

cool

nikomatsakis (Jul 17 2018 at 19:47, on Zulip):

(we can discuss tomorrow in more detail if you want)

pnkfelix (Jul 17 2018 at 19:47, on Zulip):

@nikomatsakis to be clear

pnkfelix (Jul 17 2018 at 19:47, on Zulip):

there is this one piece "i'm going to ignore that for now and assume it was the result"

pnkfelix (Jul 17 2018 at 19:47, on Zulip):

is that part of what you're asking @David Wood to take on?

pnkfelix (Jul 17 2018 at 19:47, on Zulip):

I guess you and he will discuss

nikomatsakis (Jul 17 2018 at 19:48, on Zulip):

I'm not sure if that's still relevant or not

nikomatsakis (Jul 17 2018 at 19:48, on Zulip):

I think the last time I looked it seemed like we were selecting the parts I would expect

pnkfelix (Jul 17 2018 at 19:48, on Zulip):

okay. Don't let me derail the meeting by getting into that; we should probably move on through issues list.

nikomatsakis (Jul 17 2018 at 19:48, on Zulip):

but I could be wrong

nikomatsakis (Jul 17 2018 at 19:49, on Zulip):

ok, next is #52028 -- html5ever in the rustc-perf repository is memory-intensive

nikomatsakis (Jul 17 2018 at 19:49, on Zulip):

this got a lot better with @David Wood's PR

nikomatsakis (Jul 17 2018 at 19:49, on Zulip):

but we still use a lot of memory

nikomatsakis (Jul 17 2018 at 19:49, on Zulip):

still, my bigger concern there is runtime :)

pnkfelix (Jul 17 2018 at 19:50, on Zulip):

some sort of prefixing-system could help there too maybe

nikomatsakis (Jul 17 2018 at 19:50, on Zulip):

(this is the max-rss comparison, for reference: link)

nikomatsakis (Jul 17 2018 at 19:50, on Zulip):

yeah I think the next level of fix is to change how we represent live regions

nikomatsakis (Jul 17 2018 at 19:51, on Zulip):

such that we can share bits between regions

nikomatsakis (Jul 17 2018 at 19:51, on Zulip):

and/or perhaps something like SEME I guess

nikomatsakis (Jul 17 2018 at 19:51, on Zulip):

or just in general some optimized way to represent continuous spans

nikomatsakis (Jul 17 2018 at 19:51, on Zulip):

this all sounds to me to be a bit speculative and not EP2

lqd (Jul 17 2018 at 19:51, on Zulip):

do we need to analyze html5ever a bit more, esp wrt to work being done on variables without regions ? or just wait for DPC's PR tomorrow ?

lqd (Jul 17 2018 at 19:52, on Zulip):

(even though njn already has done a bunch of work on that)

nikomatsakis (Jul 17 2018 at 19:52, on Zulip):

I think waiting for @DPC's PR is the easiest way to know

nikomatsakis (Jul 17 2018 at 19:52, on Zulip):

though I did run with -Zdump-mir, I forgot to check on that

nikomatsakis (Jul 17 2018 at 19:52, on Zulip):

anyway I sort of think we should defer further work on memory usage specifically to RC...

pnkfelix (Jul 17 2018 at 19:52, on Zulip):

I'm good with that

pnkfelix (Jul 17 2018 at 19:53, on Zulip):

performance in general is good for EP2, (and we may get some mem benefits from that)

nikomatsakis (Jul 17 2018 at 19:54, on Zulip):

so https://github.com/rust-lang/rust/issues/52034 is actually pseudo-assigned and we'll hopefully have a PR for that

nikomatsakis (Jul 17 2018 at 19:54, on Zulip):

I expect this to have a massive impact on tuple-stress

nikomatsakis (Jul 17 2018 at 19:54, on Zulip):

and .. I'm not sure what impact on other things but at least somewhat helpful

pnkfelix (Jul 17 2018 at 19:55, on Zulip):

Do you think #52460 is EP2 ?

pnkfelix (Jul 17 2018 at 19:55, on Zulip):

You assigned it there 3 hours ago

nikomatsakis (Jul 17 2018 at 19:55, on Zulip):

didn't get there yet....

nikomatsakis (Jul 17 2018 at 19:55, on Zulip):

I'm not sure

nikomatsakis (Jul 17 2018 at 19:55, on Zulip):

I mostly just wanted us to talk about it :)

nikomatsakis (Jul 17 2018 at 19:55, on Zulip):

#52384 -- nll allows &'static Fn() to contain function local upvars

pnkfelix (Jul 17 2018 at 19:55, on Zulip):

fair enough; I skipped ahead

nikomatsakis (Jul 17 2018 at 19:55, on Zulip):

this one -- I think I'll just assign to me? it intersects the branch I'm working on quite a bit

nikomatsakis (Jul 17 2018 at 19:56, on Zulip):

anyway I'll either assign to me or write up some mentoring instructions, I think it's an eay fix

nikomatsakis (Jul 17 2018 at 19:56, on Zulip):

ok I guess #52460 is the only one left

nikomatsakis (Jul 17 2018 at 19:56, on Zulip):

"experiment with "inverting" liveness to improve perf of html5ever"

nikomatsakis (Jul 17 2018 at 19:57, on Zulip):

re: whether this is EP2 or not, I ... think maybe not?

nikomatsakis (Jul 17 2018 at 19:57, on Zulip):

It might be a win overall, but it is mostly targeting the extreme case of html5ever, and we know that "master" html5ever doesn't exhibit that behavior

nikomatsakis (Jul 17 2018 at 19:57, on Zulip):

not to say it's not improtant to try and address

nikomatsakis (Jul 17 2018 at 19:57, on Zulip):

writing it out in the issue made it seem kind of like a complex PR to me :)

nikomatsakis (Jul 17 2018 at 19:58, on Zulip):

at least not one that would be easily mentored to someone not familiar with the code

pnkfelix (Jul 17 2018 at 19:58, on Zulip):

I think we have enough on our plate for EP2

lqd (Jul 17 2018 at 19:58, on Zulip):

dayum

nikomatsakis (Jul 17 2018 at 19:58, on Zulip):

ok, let's kick it to RC?

nikomatsakis (Jul 17 2018 at 19:58, on Zulip):

if we get everything done, we can always start pulling RC items :)

pnkfelix (Jul 17 2018 at 19:59, on Zulip):

So with one minute left for Niko, anyone want to try to grab him for a Q? :)

lqd (Jul 17 2018 at 19:59, on Zulip):

yeah, what can I work on ? :)

nikomatsakis (Jul 17 2018 at 19:59, on Zulip):

I've got way too many things assigned to me it appears, though that may be valid...

nikomatsakis (Jul 17 2018 at 20:00, on Zulip):

hmm @lqd do you want to work on https://github.com/rust-lang/rust/issues/52078 ?

nikomatsakis (Jul 17 2018 at 20:00, on Zulip):

well .. not sure if that's the best

pnkfelix (Jul 17 2018 at 20:01, on Zulip):

there is also #48071, which you left a comment that has the name of an in-progress branch ...

nikomatsakis (Jul 17 2018 at 20:01, on Zulip):

but I guess that one plus https://github.com/rust-lang/rust/issues/52057 are the two that I should investigate

nikomatsakis (Jul 17 2018 at 20:01, on Zulip):

yes, that branch is running x.py test right now...

nikomatsakis (Jul 17 2018 at 20:01, on Zulip):
    Finished release [optimized] target(s) in 2.22s
tidy check
tidy error: /home/nmatsakis/versioned/rust-6/src/librustc_mir/borrow_check/nll/region_infer/values.rs:99: line longer than 100 chars
tidy error: /home/nmatsakis/versioned/rust-6/src/librustc_mir/borrow_check/nll/type_check/relate_tys.rs:238: line longer than 100 chars
tidy error: /home/nmatsakis/versioned/rust-6/src/librustc_data_structures/bitvec.rs:483: line longer than 100 chars
some tidy checks failed
nikomatsakis (Jul 17 2018 at 20:01, on Zulip):

curse you tidy

nikomatsakis (Jul 17 2018 at 20:01, on Zulip):

never mind, it's not ;)

lqd (Jul 17 2018 at 20:01, on Zulip):

:)

nikomatsakis (Jul 17 2018 at 20:01, on Zulip):

so, the other thing is that I had planned to open up a few issues relating to region diagnostics

nikomatsakis (Jul 17 2018 at 20:02, on Zulip):

it does feel like we have a slight lack of "open issues"

nikomatsakis (Jul 17 2018 at 20:02, on Zulip):

(we could inspect the RC milestone too)

lqd (Jul 17 2018 at 20:02, on Zulip):

if it won't take too much of your time for the instructions (since I'm unfamiliar with these parts), I can work on #52078

lqd (Jul 17 2018 at 20:02, on Zulip):

or #52384

nikomatsakis (Jul 17 2018 at 20:02, on Zulip):

ok, sounds good, maybe we can sync up on it tomorrow

nikomatsakis (Jul 17 2018 at 20:03, on Zulip):

since it's rather late here :)

nikomatsakis (Jul 17 2018 at 20:03, on Zulip):

so yeah, I'll make a point of investigating one of those and handing off to you, in short :)

lqd (Jul 17 2018 at 20:03, on Zulip):

cool :)

nikomatsakis (Jul 17 2018 at 20:04, on Zulip):

(I don't have as many things assigned to me as it might appear, since 2 of them are dups of one another, and 1 of them is just a kind of "needs test" thing)

nikomatsakis (Jul 17 2018 at 20:05, on Zulip):

@simulacrum question: when we generate the main dashboard, do we do separate runs on each release to get those results?

simulacrum (Jul 17 2018 at 20:06, on Zulip):

If I follow you, yes

simulacrum (Jul 17 2018 at 20:06, on Zulip):

But I'm not sure what exactly you mean by "separate runs" -- that is, I don't see any other way of doing ti

nikomatsakis (Jul 17 2018 at 20:06, on Zulip):

@lqd (ps, I see you opened a lot of datafrog/polonius PRs, I'll try to review some of those... did you request reviews from me?)

nikomatsakis (Jul 17 2018 at 20:06, on Zulip):

oh they could be for example culled from the corresponding master results

lqd (Jul 17 2018 at 20:06, on Zulip):

no I initially wanted to see how high I could go before you noticed ;)

nikomatsakis (Jul 17 2018 at 20:07, on Zulip):

you can go pretty high ;)

lqd (Jul 17 2018 at 20:07, on Zulip):

:)

lqd (Jul 17 2018 at 20:07, on Zulip):

there's ofc no rush

nikomatsakis (Jul 17 2018 at 20:07, on Zulip):

@simulacrum what tests are in there?

simulacrum (Jul 17 2018 at 20:08, on Zulip):

inflate, futures, crates.io, tokio-webpush-simple, regex, encoding, html5ever, syn, style-servo, piston-image, sentry-cli

nikomatsakis (Jul 17 2018 at 20:10, on Zulip):

ok -- one thing we could do would be to measure the overhead from cargo check with NLL enabled on the master of those crates

nikomatsakis (Jul 17 2018 at 20:10, on Zulip):

I'd like to see both %age and absolute times

nikomatsakis (Jul 17 2018 at 20:10, on Zulip):

in order to try and assess "real world impact of NLL"

nikomatsakis (Jul 17 2018 at 20:11, on Zulip):

in particular, for thinking about the "how good is good enough to ship" question...

nikomatsakis (Jul 17 2018 at 20:11, on Zulip):

anyway

lqd (Jul 17 2018 at 20:14, on Zulip):

good evening/afternoon everyone :) (PS: I've reread the Paper and @Matthew Jasper and @David Wood your PRs were awesome :)

simulacrum (Jul 17 2018 at 20:42, on Zulip):

@nikomatsakis If you want I can enable the NLL point for master on the dashboard?

nikomatsakis (Jul 18 2018 at 03:42, on Zulip):

@simulacrum which versions of those crates are being measured by that?

simulacrum (Jul 18 2018 at 03:56, on Zulip):

The ones on perf.rlo, same as for master.

>

DPC (Jul 18 2018 at 05:36, on Zulip):

well so https://github.com/rust-lang/rust/issues/52034 I would assign to @DPC but I don't think they accepted my invitation yet :)

I didn't get any invitation. Ensure you send it to Dylan-DPC on github

nikomatsakis (Jul 18 2018 at 11:32, on Zulip):

@DPC Dylan-DPC -- with a -?

lqd (Jul 18 2018 at 11:33, on Zulip):

ya, https://github.com/Dylan-DPC

DPC (Jul 18 2018 at 11:33, on Zulip):

ya got it now

nikomatsakis (Jul 18 2018 at 11:33, on Zulip):

whoops, I had DylanDPC, no dash :)

Last update: Nov 21 2019 at 15:00UTC