Stream: t-compiler/wg-polonius

Topic: meeting 2019.09.24


lqd (Sep 24 2019 at 19:01, on Zulip):

hello friends from @WG-polonius :wave:

lqd (Sep 24 2019 at 19:02, on Zulip):

it's likely going to be an intimate meeting tonight :)

lqd (Sep 24 2019 at 19:03, on Zulip):

I know Matthew has been working on fixing the last real error from the compare-mode :tada: thanks a lot @Matthew Jasper

lqd (Sep 24 2019 at 19:03, on Zulip):

it's this overflow during fact generation

lqd (Sep 24 2019 at 19:04, on Zulip):

I wasn't able again to read Albin's thesis this week sorry :(

lqd (Sep 24 2019 at 19:05, on Zulip):

for my update: I did open 4 PRs, 2 of which are minor

lqd (Sep 24 2019 at 19:05, on Zulip):

the other 2 related to docs and The Great Renaming

lqd (Sep 24 2019 at 19:06, on Zulip):

I saw csmoe was working on https://github.com/rust-lang/polonius/issues/111 but I'm not sure the vision on that issue was super clear enough yet ?

nikomatsakis (Sep 24 2019 at 19:06, on Zulip):

Hi everyone :)

lqd (Sep 24 2019 at 19:06, on Zulip):

their WIP PR also has unfortunate timing with the incoming renaming conflicts

lqd (Sep 24 2019 at 19:06, on Zulip):

hey niko :)

nikomatsakis (Sep 24 2019 at 19:07, on Zulip):

I saw csmoe was working on https://github.com/rust-lang/polonius/issues/111 but I'm not sure the vision on that issue was super clear enough yet ?

I mean I think it was fairly clear, but it may well be that we wish to do a few other things first because of conflicts

lqd (Sep 24 2019 at 19:08, on Zulip):

ah ok so maybe the PR isn't what I expected from this issue, the changes on AllFacts and so on

Albin Stjerna (Sep 24 2019 at 19:08, on Zulip):

My idea of rejiggering the inputs to be able to separate the steps of the computation is also in slight conflict, but I don't think that's a problem and if anything the changes in the PR would make that easier

nikomatsakis (Sep 24 2019 at 19:09, on Zulip):

well I'm not sure why some of the changes went from &Vec to Vec

lqd (Sep 24 2019 at 19:09, on Zulip):

I was trying to look at that earlier (and more soon)

nikomatsakis (Sep 24 2019 at 19:09, on Zulip):

I would expect just Loan to T::Loan

lqd (Sep 24 2019 at 19:10, on Zulip):

a lot more clones, etc well it's WIP after all, so we'll see :) but maybe they're not sure how to tie it with the rest of the code I don't know

lqd (Sep 24 2019 at 19:10, on Zulip):

I've also been working on the equality-tracking prototype, and also some datafrog shenanigans

nikomatsakis (Sep 24 2019 at 19:11, on Zulip):

a lot more clones, etc well it's WIP after all, so we'll see :) but maybe they're not sure how to tie it with the rest of the code I don't know

yeah, I'm not sure about that, I left a few questions on the PR

lqd (Sep 24 2019 at 19:11, on Zulip):

fixed the problem in the flow-sensitive version, but is still very inefficient atm

lqd (Sep 24 2019 at 19:12, on Zulip):

had a couple small ephiphanies regarding datafrog relations etc, we'll see what comes of it

lqd (Sep 24 2019 at 19:12, on Zulip):

awesome thanks niko

lqd (Sep 24 2019 at 19:13, on Zulip):

to put things in perspective, the static equality tracking is more efficient than Naive

lqd (Sep 24 2019 at 19:13, on Zulip):

with "interesting-ness filtering" static equality is about as efficient as filtered-Naive

lqd (Sep 24 2019 at 19:14, on Zulip):

flow sensitive equality rn (which could be incorrect) is worse than regular Naive

lqd (Sep 24 2019 at 19:14, on Zulip):

but still, there are 2 rustc tests failing when using the prototype so that was just a couple notes (and future work)

lqd (Sep 24 2019 at 19:15, on Zulip):

I haven't yet investigated those 2 failures, as I was fixing the flow sensitive one, and now both give the same 2 failures out of the tests

lqd (Sep 24 2019 at 19:16, on Zulip):

(that is, 2 different failures, excluding the currently known 2 failures and 2 OOMs)

lqd (Sep 24 2019 at 19:17, on Zulip):

if any of you feel like giving a cursory glance at the PRs it would be greatly appreciated :)

lqd (Sep 24 2019 at 19:18, on Zulip):

as for this week: as I mentioned earlier Matthew is working on the test PR

Albin Stjerna (Sep 24 2019 at 19:19, on Zulip):

Honestly, I haven't whiteboarded the bug enough to understand the problem yet, and certainly not the solution

lqd (Sep 24 2019 at 19:19, on Zulip):

and I wanted to see how to reorganize the facts passing to avoid duplicating work in the Hybrid variant, and so on; in addition to investigating the 2 equality tracking variant failures

lqd (Sep 24 2019 at 19:19, on Zulip):

which bug @Albin Stjerna ?

Albin Stjerna (Sep 24 2019 at 19:19, on Zulip):

The whole equality bug to begin with :)

lqd (Sep 24 2019 at 19:20, on Zulip):

ah, it's not a bug per se :)

lqd (Sep 24 2019 at 19:20, on Zulip):

say, different rules with different tradeoffs

lqd (Sep 24 2019 at 19:21, on Zulip):

in this case, some easy-ish (maybe probable) situations to get into, which we may be able to take care of

Albin Stjerna (Sep 24 2019 at 19:21, on Zulip):

Ah

nikomatsakis (Sep 24 2019 at 19:22, on Zulip):

sorry, had a phone call

lqd (Sep 24 2019 at 19:22, on Zulip):

so Polonius as-is has the polonius-imprecision/unnecssary-error case

nikomatsakis (Sep 24 2019 at 19:22, on Zulip):

is there a PR with this work, @lqd, or would I check out your branch?

lqd (Sep 24 2019 at 19:23, on Zulip):

static equality tracking (I don't know how to name it :p) has this imprecision

nikomatsakis (Sep 24 2019 at 19:23, on Zulip):

(also, I see your comments in the equality regions topic, I guess the answer is in there)

lqd (Sep 24 2019 at 19:23, on Zulip):

yes in that thread

lqd (Sep 24 2019 at 19:23, on Zulip):

but https://github.com/lqd/borrow-check/blob/variant_prototype2/ for easy access

lqd (Sep 24 2019 at 19:24, on Zulip):

flow sensitive seems promising as well, in that we're not aware of glaring imprecisions as of yet :)

lqd (Sep 24 2019 at 19:25, on Zulip):

also interesting to keep in mind that the equality tracking could help alleviate the Location::All OOM we're seeing

nikomatsakis (Sep 24 2019 at 19:25, on Zulip):

man, I need to schedule some dedicated polonius time per week :)

nikomatsakis (Sep 24 2019 at 19:25, on Zulip):

it's so hard to stay on top of things :)

lqd (Sep 24 2019 at 19:25, on Zulip):

:)

nikomatsakis (Sep 24 2019 at 19:26, on Zulip):

anyway, good update, and it sounds like good progress!

nikomatsakis (Sep 24 2019 at 19:26, on Zulip):

I've not done much, I'm afraid, but I hope to try to catch up a bit with some of these things this week

lqd (Sep 24 2019 at 19:26, on Zulip):

I may have a couple of easy PRs including one for datafrog, maybe Frank has some time to review it (should be tiny, if I avoid the performance / specialized relations stuff)

lqd (Sep 24 2019 at 19:27, on Zulip):

awesome, good to hear :)

lqd (Sep 24 2019 at 19:28, on Zulip):

and if that is all we have, thanks a lot everyone :wave:

lqd (Sep 24 2019 at 19:29, on Zulip):

(I'll be around, and probably open a couple topics of notes in order to share & get them out of my head

Last update: Nov 15 2019 at 21:10UTC