Stream: t-compiler/wg-polonius

Topic: dry run?


nikomatsakis (Oct 10 2019 at 09:44, on Zulip):

OK, my polonius talk is basically ready -- I just did a practice run and it weighed in at exactly 30 minutes.

nikomatsakis (Oct 10 2019 at 09:44, on Zulip):

Which may or may not have any correlation to actual time when talking :)

nikomatsakis (Oct 10 2019 at 09:44, on Zulip):

Anyway, I think i'd like to do a dry run, though I'm thinking I want to recruit for the audience a few "lay people" who are less familiar with the borrow checker's workings :)

lqd (Oct 10 2019 at 10:03, on Zulip):

tiny "polonus" typo starting on slide 59, here

lqd (Oct 10 2019 at 10:07, on Zulip):

"huge emoji" :warning: "Total speculation ahead" -- this is great

lqd (Oct 10 2019 at 10:08, on Zulip):

calling it now, this talk is going to be great

pachi (Oct 10 2019 at 10:32, on Zulip):

It's fantastic! The part that was most difficult for me, and I had to reread back and forth a couple of times is that of "Incorporating named lifetimes in NLL", until I realized that the None match arm is orthogonal to the return value of the function which needs the 'a lifetime only for it's Some(v) =>v arm. Other than that, I could understand it, and I'm a total newbie!
Congrats!

lqd (Oct 10 2019 at 15:58, on Zulip):

tiny "polonus" typo

https://github.com/nikomatsakis/rust-belt-rust-2019/pull/1

Aaron Weiss (Oct 10 2019 at 18:35, on Zulip):

@nikomatsakis your speculated use case at the end is something I've wanted so many times :smile:

Aaron Weiss (Oct 10 2019 at 18:35, on Zulip):

and my sense is that your speculation is probably well-founded. :wink:

lqd (Oct 10 2019 at 18:39, on Zulip):

was that a spoiler for the next Oxide draft ? :)

Aaron Weiss (Oct 11 2019 at 01:01, on Zulip):

It does seem like something I could probably work out how to do in Oxide, but it's certainly not something I've done already.

nikomatsakis (Oct 11 2019 at 16:30, on Zulip):

It's fantastic! The part that was most difficult for me, and I had to reread back and forth a couple of times is that of "Incorporating named lifetimes in NLL", until I realized that the None match arm is orthogonal to the return value of the function which needs the 'a lifetime only for it's Some(v) =>v arm. Other than that, I could understand it, and I'm a total newbie!
Congrats!

great feedback! I'm trying to think how to make that clearer, not sure

nikomatsakis (Oct 11 2019 at 16:30, on Zulip):

maybe something that the soundtrack would help with

nikomatsakis (Oct 11 2019 at 16:31, on Zulip):

maybe @pachi it would help to just hide the &map[22] return value and replace it with ...?

pachi (Oct 11 2019 at 16:37, on Zulip):

Or just say that, in that case, "the lifetime affects just one of the match arms" but its presence in the function signature taints both, unless NLL works for this

lqd (Oct 11 2019 at 19:26, on Zulip):

:thumbs_up: on the latest introductory changes, I felt "what is Polonius" was missing but then forgot to say anything :(

nikomatsakis (Oct 22 2019 at 19:08, on Zulip):

I never got around to the dry run obviously but I think the talk went fairly well

nikomatsakis (Oct 22 2019 at 19:08, on Zulip):

as an inveterate perfectionist I was not satisfied with certain aspects, but I know better than to say which :P

Last update: Nov 15 2019 at 21:05UTC