Stream: t-compiler/wg-polonius

Topic: 2021 sprints


lqd (Dec 21 2020 at 22:11, on Zulip):

hey everyone :)

lqd (Dec 21 2020 at 22:12, on Zulip):

I'm not sure when we'll be able to do a sprint next year, but I hope it is soon-ish ^^ While I am fully booked in january and will not be able to take a vacation to work on the sprint, I'm on vacation now and plan to spend some time planning and preparing for the next one

lqd (Dec 21 2020 at 22:17, on Zulip):

There was the question of periodicity: how often should we have one. I was thinking since it was also a way for Niko to have an easier time scheduling for multiple projects requiring some block of time, worst case whether or not anyone else would participate at the same time (of course the idea is that we do), it seems that 3 months is too long a period to plan the sprints. And ideally, it would probably need to "quite frequent" to keep making progress. The period of WG check-ins at the t-compiler meeting seemed interesting. I expect his plate to be full so we'll see, but between 1-2 months looked interesting to me. A la once every 6-7 weeks, or once per Rust release :)

lqd (Dec 21 2020 at 22:20, on Zulip):

To make up for the fact that sometimes, our schedules would not allow to fully participate (disregarding timezones; and maybe there's leeway here, since the Boston afternoons would overlap with after-office hours for example), I was thinking that we'd at least prepare beforehand so that some work is at least available

lqd (Dec 21 2020 at 22:21, on Zulip):

Some sync time is always nice and required, but also there can be some "async sprint", for examples PRs to review, analyses or plans to read and so on

lqd (Dec 21 2020 at 22:27, on Zulip):

So my personal plans for this are at least:

lqd (Dec 21 2020 at 22:28, on Zulip):

I have https://github.com/rust-lang/polonius/pull/155 for the first bullet point (which is mostly about renaming), and https://github.com/rust-lang/polonius/pull/156 for the subset errors

lqd (Dec 21 2020 at 22:28, on Zulip):

(I don't expect reviews or anything until the sprint)

lqd (Dec 21 2020 at 22:40, on Zulip):

(as a fun point about the Location::All work: I was earlier wondering why https://github.com/rust-lang/rust/blob/master/src/test/ui/intrinsics/intrinsics-integer.rs was so slow. Turns out there are 167M outlives tuples, the facts are 7GB. All but ~32K or so of them are "outlives at all points")

lqd (Dec 22 2020 at 09:44, on Zulip):
lqd (Dec 22 2020 at 16:18, on Zulip):

for the third bullet point, I've updated and rebased https://github.com/rust-lang/polonius/pull/126 which was about describing relations:

I was thinking "introducing origin" and "loan introduced" was a nice alternative to loans being "issued", but have not used that in the PR. What do people think ?

lqd (Dec 22 2020 at 16:21, on Zulip):

(I'll now work on ; to fix our materialization of placeholder liveness at all points)

lqd (Dec 22 2020 at 20:58, on Zulip):

I think this is "just" expanding each rule that only checked whether an origin was live at a given point to also check whether the origin is a placeholder. The opt variant has interesting cases where it's trying to limit the TC explicitly to origins that die along an edge, and relies a lot on !origin_live_on_entry. I was tempted that this would mean one'd need to explicitly reject !placeholder(origin) to mirror the unions with placeholder(origin) that ; creates, but I think I've convinced myself that removing the placeholders from the liveness data implicitly does the same thing. I'll try it and if it works, open a draft PR so that there can be comments about that approach during the sprint

lqd (Dec 22 2020 at 21:44, on Zulip):

@Jake Goulding re: :truck: it's not _that_ expensive :p it did simplify rules a lot, like I now have to add 2 to 4 slightly different expansions to 70% of the rules in the opt variant

Jake Goulding (Dec 22 2020 at 21:44, on Zulip):

I was actually going for "semi-truck" for "semi-colon". Emoji can be a blunt instrument sometimes :no_mouth:

lqd (Dec 22 2020 at 21:44, on Zulip):

haha

Jake Goulding (Dec 22 2020 at 21:45, on Zulip):

I really just wanted to cheerlead; to let you know that someone out in the void was reading what you wrote (even if I don't follow it)

lqd (Dec 22 2020 at 21:48, on Zulip):

much appreciated, friend :)

lqd (Dec 22 2020 at 21:58, on Zulip):

my intention is that these are mostly messages in a bottle, in a sea that will reach the future sprint, so that Niko and Albin have something to do and talk about, about this work even if I'm not there all the time :)

lqd (Dec 23 2020 at 01:42, on Zulip):

after testing with rustc, there seems to be no difference in results in the UI suite. I didn't add the placeholder antijoins yet but we should, so I've opened a draft PR https://github.com/rust-lang/polonius/pull/157 for explanation and discussion, and we'll see when the sprint comes

lqd (Dec 27 2020 at 12:12, on Zulip):

I've now also updated the book improvement PR to add documentation and rules about the LocationInsensitive variant

Last update: Jun 19 2021 at 23:45UTC