Stream: t-compiler/wg-nll

Topic: weekly meeting May 8


pnkfelix (May 08 2018 at 19:33, on Zulip):

how's that

davidtwco (May 08 2018 at 19:33, on Zulip):

Well, the other topic could have been renamed, but :+1:

pnkfelix (May 08 2018 at 19:33, on Zulip):

Could it?

pnkfelix (May 08 2018 at 19:34, on Zulip):

(I don't see an obvious way to rename an existing topic. @davidtwco maybe you can show me more about that after the meeting)

davidtwco (May 08 2018 at 19:34, on Zulip):

(There's a little edit pencil next to the name in a set of messages from it.)

pnkfelix (May 08 2018 at 19:34, on Zulip):

Anyway, as noted above, @Reed Koser cannot make tonight's meeting. But it looks like @nikomatsakis did manage to get here, yay!

pnkfelix (May 08 2018 at 19:35, on Zulip):

If you all have something to report and have not yet put into the Paper, please do so now

pnkfelix (May 08 2018 at 19:35, on Zulip):

link: https://paper.dropbox.com/doc/Non-lexical-lifetimes-NLL-Triage-Em2cJrvxQMMFWLE7lE5Be

pnkfelix (May 08 2018 at 19:36, on Zulip):

Depending on your point-of-view, the most interesting/important bit of business is the thing that @nikomatsakis put into their status update in the Paper

nikomatsakis (May 08 2018 at 19:37, on Zulip):

sorry for being slow :) it's been hard to get reliable internet access here

pnkfelix (May 08 2018 at 19:37, on Zulip):

namely, he and I were chatting last week, and the question came up: What is our plan if we cannot resolve the performance issues we are currently having with #[feature(nll)]

pnkfelix (May 08 2018 at 19:38, on Zulip):

So this was @nikomatsakis 's idea (that he is very sad about, but I am not nearly so sad about):

pnkfelix (May 08 2018 at 19:38, on Zulip):

Namely, in rustc, for the short-term, change to a Single-Entry-Multiple-Exit model for regions

pnkfelix (May 08 2018 at 19:38, on Zulip):

(SEME)

pnkfelix (May 08 2018 at 19:39, on Zulip):

Such a model is not nearly as expressive

pnkfelix (May 08 2018 at 19:39, on Zulip):

as the Alias-based model that we have been trying to deploy

pnkfelix (May 08 2018 at 19:39, on Zulip):

but, we are pretty certain that it will be much easier to make such a model fast (or at least competitive with AST-borrowck) in the short term.

pnkfelix (May 08 2018 at 19:40, on Zulip):

And that in turn means that we can use an SEME model to deploy MIR-borrowck with some of the enhancements that NLL has promised

pnkfelix (May 08 2018 at 19:41, on Zulip):

(and the corresponding soundness fixes due to using MIR-borrowck instead of AST-borrowck)

pnkfelix (May 08 2018 at 19:41, on Zulip):

and so we can deploy that in the short term and deal with the corresponding fallout from the aforementioned soundness fixes (i.e. the crates in the wild that have been utilizing those soundness holes, probably unwittingly...)

pnkfelix (May 08 2018 at 19:42, on Zulip):

The main thing that @nikomatsakis and I want to stress about this idea is that it is a short term plan

pnkfelix (May 08 2018 at 19:42, on Zulip):

because we really do want to see the alias-based model land in the future

pnkfelix (May 08 2018 at 19:42, on Zulip):

but by making this separate SEME based system

pnkfelix (May 08 2018 at 19:43, on Zulip):

that should give everyone plenty of breathing room to focus their attention carefully on the performance issues directly in the separate borrow_check repository that @nikomatsakis has made

pnkfelix (May 08 2018 at 19:43, on Zulip):

I know this is a pretty big wall of text

pnkfelix (May 08 2018 at 19:44, on Zulip):

So... are there any thoughts/reactions to this idea? Questions about what I wrote above or what @nikomatsakis wrote in the paper doc?

Keith Yeung (May 08 2018 at 19:44, on Zulip):

Sorry, not able to type right now, will update later

pnkfelix (May 08 2018 at 19:45, on Zulip):

(Oh, haha, I guess I forgot to re-ask the question of whether we should reschedule the meeting to a later day this week...)

pnkfelix (May 08 2018 at 19:45, on Zulip):

Sorry!

nikomatsakis (May 08 2018 at 19:46, on Zulip):

I'm afk-ish but I wanted to add one note:

nikomatsakis (May 08 2018 at 19:46, on Zulip):

I think that it's still interesting to think about how best to coordinate efforts on the borrow-check repo

nikomatsakis (May 08 2018 at 19:47, on Zulip):

I've not had as much time as I'd like to try and enumerate out those tasks

nikomatsakis (May 08 2018 at 19:47, on Zulip):

though I did open some issues etc

pnkfelix (May 08 2018 at 19:48, on Zulip):

okay ... well... I'm going to interpret the silence as people not being available to really interact right now

pnkfelix (May 08 2018 at 19:49, on Zulip):

so I'll spend the time I have remaining to this just making some notes as I skim over the Paper and the github issues

pnkfelix (May 08 2018 at 19:50, on Zulip):

@Reed Koser 's visualization of the region relationship graph is pretty interesting. I agree that it does make it seem like a sparse matrix rep could have promise

pnkfelix (May 08 2018 at 19:54, on Zulip):

Also, I think I saw a bug similar to https://github.com/rust-lang/rust/issues/50461 but I forgot to file an issue about it.

pnkfelix (May 08 2018 at 19:56, on Zulip):

(I probably should have CC'ed @Keith Yeung on that issue...)

pnkfelix (May 08 2018 at 19:58, on Zulip):

hmm it seems like we've somehow missed this issue during prior triage: https://github.com/rust-lang/rust/issues/48001

nikomatsakis (May 08 2018 at 20:00, on Zulip):

@Reed Koser 's visualization of the region relationship graph is pretty interesting. I agree that it does make it seem like a sparse matrix rep could have promise

I haven't seen that, can someone send a link?

pnkfelix (May 08 2018 at 20:00, on Zulip):

@nikomatsakis its in the paper ?

nikomatsakis (May 08 2018 at 20:00, on Zulip):

oh ok

qmx (May 08 2018 at 20:02, on Zulip):

Yea that's neat

pnkfelix (May 08 2018 at 20:04, on Zulip):

https://github.com/rust-lang/rust/issues/48001 looks to me like an NLL-complete issue. (What it outlines seems in scope for the project to me.)

pnkfelix (May 08 2018 at 20:04, on Zulip):

(tagged it as such)

pnkfelix (May 08 2018 at 20:06, on Zulip):

versus a bug like https://github.com/rust-lang/rust/issues/47224 , which looks to me like it is out of scope for the NLL work. (RIght, @nikomatsakis ?)

pnkfelix (May 08 2018 at 20:07, on Zulip):

(i.e. it seems like it is implicitly asking for something like DerefPure , and for that to work in tandem with NLL...)

pnkfelix (May 08 2018 at 20:10, on Zulip):

Okay well I'm going to call it quits for this meeting, we're 10 minutes over (depending on whether you subscribe to this being a 30min mtg)

Last update: Nov 21 2019 at 13:35UTC