Stream: t-compiler/wg-nll

Topic: weekly meeting November 13


nikomatsakis (Nov 13 2018 at 20:32, on Zulip):

Hi @WG-compiler-nll

nikomatsakis (Nov 13 2018 at 20:32, on Zulip):

I'm not as good as @pnkfelix at giving notice I guess :)

nikomatsakis (Nov 13 2018 at 20:32, on Zulip):

paper doc

nikomatsakis (Nov 13 2018 at 20:33, on Zulip):

I've been trying to go through the issues on the Rust 2018 Milestone

nikomatsakis (Nov 13 2018 at 20:33, on Zulip):

a lot of them are A-nll

nikomatsakis (Nov 13 2018 at 20:33, on Zulip):

I'd lke to get that list down to true Rust 2018 blockers

Matthew Jasper (Nov 13 2018 at 20:34, on Zulip):

#54256 shouldn't be there, it's a diagnostics issue that is true for both borrow checkers

nikomatsakis (Nov 13 2018 at 20:34, on Zulip):

confirm

nikomatsakis (Nov 13 2018 at 20:35, on Zulip):

maybe we can go through them briefly

nikomatsakis (Nov 13 2018 at 20:35, on Zulip):

I similarly removed NLL reports "borrow used here in later iteration of loop" in cases outside of loop #53773

nikomatsakis (Nov 13 2018 at 20:35, on Zulip):

although it is confusing to me that it still happens

nikomatsakis (Nov 13 2018 at 20:36, on Zulip):

@blitzerr, if you're around, are you interested in poking at that a bit on the side? :)

davidtwco (Nov 13 2018 at 20:36, on Zulip):

link with only the NLL issues

nikomatsakis (Nov 13 2018 at 20:36, on Zulip):

so yeah let's go through them briefly 1-by-1 if that's ok

nikomatsakis (Nov 13 2018 at 20:36, on Zulip):

NLL: investigate ascription when a _ wildcard tyvar is repeated #55748

nikomatsakis (Nov 13 2018 at 20:37, on Zulip):

putting on Release milestone, to ensure we actually find out whether this is even a problem (i.e. make some examples of soundness bugs that are actually getting through due to this) before we do the Release.

nikomatsakis (Nov 13 2018 at 20:37, on Zulip):

seems like we need to get a confirmed test case, potentially, but --

nikomatsakis (Nov 13 2018 at 20:37, on Zulip):

I don't really feel like this is a blocker

nikomatsakis (Nov 13 2018 at 20:37, on Zulip):

you have to work hard to create soundness problems here

nikomatsakis (Nov 13 2018 at 20:38, on Zulip):

it does raise an interesting question, in that I think we should set a kind of goal to make progress through these NLL-sound bugs

nikomatsakis (Nov 13 2018 at 20:39, on Zulip):

basically I think that to have this bug you have to use a type alias with repeated type variables, I'll have to think about just how to really exercise it, but it involves something like type Pair<T> = (T, T) and then an annotation like Pair<_> ..

nikomatsakis (Nov 13 2018 at 20:39, on Zulip):

...such that one of the variables can't have the same type as the other

nikomatsakis (Nov 13 2018 at 20:39, on Zulip):

anybody object if I remove from milestone?

nikomatsakis (Nov 13 2018 at 20:40, on Zulip):

Next issue:

nll: respect user type annotations with constants in patterns #55511

nikomatsakis (Nov 13 2018 at 20:40, on Zulip):

also feels (to me) pretty obscure

nikomatsakis (Nov 13 2018 at 20:41, on Zulip):

if we want to keep it P-high, that seems fine, but we should assign someone

nikomatsakis (Nov 13 2018 at 20:41, on Zulip):

(thoughts?)

nikomatsakis (Nov 13 2018 at 20:41, on Zulip):

/me removes from milestone

davidtwco (Nov 13 2018 at 20:42, on Zulip):

Maybe P-med if it isn't too important? That's probably still the next highest priority for NLL issues.

Matthew Jasper (Nov 13 2018 at 20:42, on Zulip):

This doesn't compile, so it seems that at least in some cases we do the right thing.

type Tup<T> = (T, T);

fn foo<'a>(x: &mut &'static mut i32, y: &mut &'a mut i32) {
    let r: Tup<_> = (x, y);
}
nikomatsakis (Nov 13 2018 at 20:43, on Zulip):

Maybe P-med if it isn't too important? That's probably still the next highest priority for NLL issues.

sounds good -- P-high is supposed to mean "review at the compiler triage meeting"

nikomatsakis (Nov 13 2018 at 20:43, on Zulip):

I'm not sure that this merits that

nikomatsakis (Nov 13 2018 at 20:43, on Zulip):

but I do think we should be making steady progress on the remaining NLL-sound bugs, perhaps setting a goal like "have them closed over the next 2 releases" or something

nikomatsakis (Nov 13 2018 at 20:44, on Zulip):

Next up:

NLL doesn't check that user type annotations are well-formed in unreachable code #54943

nikomatsakis (Nov 13 2018 at 20:44, on Zulip):

assigned to @davidtwco

nikomatsakis (Nov 13 2018 at 20:44, on Zulip):

how goes?

davidtwco (Nov 13 2018 at 20:44, on Zulip):

I'm in the middle of it.

nikomatsakis (Nov 13 2018 at 20:44, on Zulip):

ok, let's leave it as is then

davidtwco (Nov 13 2018 at 20:44, on Zulip):

About to get back to it after this meeting.

nikomatsakis (Nov 13 2018 at 20:44, on Zulip):

next up:

user type annotations are captured post normalization #54940

davidtwco (Nov 13 2018 at 20:44, on Zulip):

Last update in the topic here for the issue is still the case.

nikomatsakis (Nov 13 2018 at 20:44, on Zulip):

that's assigned to me, but I honestly don't see how to fix it until we do lazy normalization

nikomatsakis (Nov 13 2018 at 20:45, on Zulip):

so I'd rather just focus on that as part of #wg-traits

nikomatsakis (Nov 13 2018 at 20:45, on Zulip):

and in fact I might reassign this to that wg :)

nikomatsakis (Nov 13 2018 at 20:45, on Zulip):

I don't really see it as a blocker for Rust 2018

nikomatsakis (Nov 13 2018 at 20:46, on Zulip):

Next up:

fix "bivariant wf" bug in the NLL subtyping code #54105

Matthew Jasper (Nov 13 2018 at 20:46, on Zulip):

which has no test case

nikomatsakis (Nov 13 2018 at 20:46, on Zulip):

so this.. is an obscure one

nikomatsakis (Nov 13 2018 at 20:46, on Zulip):

yes

nikomatsakis (Nov 13 2018 at 20:47, on Zulip):

I was just talking about it with @scalexm today

nikomatsakis (Nov 13 2018 at 20:47, on Zulip):

they are reworking some of the relevant code in #wg-traits

nikomatsakis (Nov 13 2018 at 20:47, on Zulip):

anyway i'd not call it a blocker

nikomatsakis (Nov 13 2018 at 20:47, on Zulip):

I'm not even 100% sure it's a bug

nikomatsakis (Nov 13 2018 at 20:47, on Zulip):

though I suspect it is still

nikomatsakis (Nov 13 2018 at 20:48, on Zulip):

ok, that's the last of 'em

nikomatsakis (Nov 13 2018 at 20:48, on Zulip):

that wasn't as many as I feared, I guess because @pnkfelix already did most of the triage etc

davidtwco (Nov 13 2018 at 20:49, on Zulip):

So of the 5 NLL-sound issues, two are theoretical “there might be a bug here, let’s try find it”, one is a meta issue and the others are assigned?

nikomatsakis (Nov 13 2018 at 20:49, on Zulip):

so, moving on from that, I guess it's worth looking at the NLL-sound bugs

nikomatsakis (Nov 13 2018 at 20:49, on Zulip):

So of the 5 NLL-sound issues, two are theoretical “there might be a bug here let’s try find it”, one is a meta issue and the others are assigned?

basically yes :)

nikomatsakis (Nov 13 2018 at 20:49, on Zulip):

I do feel like we should not just let these NLL-sound bugs linger if we can help it

nikomatsakis (Nov 13 2018 at 20:49, on Zulip):

just don't have to block release (or backport)

nikomatsakis (Nov 13 2018 at 20:50, on Zulip):

I could try to writeup some mentoring notes on https://github.com/rust-lang/rust/issues/55511

nikomatsakis (Nov 13 2018 at 20:50, on Zulip):

I think @Santiago Pastorino you were sort of looking for something to do? :)

Santiago Pastorino (Nov 13 2018 at 20:50, on Zulip):

yes

nikomatsakis (Nov 13 2018 at 20:51, on Zulip):

(seems like there is still work left to do categorizing https://github.com/rust-lang/rust/issues/54528, also; I'll add that to my to do list I think)

davidtwco (Nov 13 2018 at 20:52, on Zulip):

As far as I know, Felix finished the review and looked at all of the “needs further investigation” ones.

davidtwco (Nov 13 2018 at 20:52, on Zulip):

There were a few migrate related issues that I think are resolved.

davidtwco (Nov 13 2018 at 20:52, on Zulip):

Same with unions.

nikomatsakis (Nov 13 2018 at 20:52, on Zulip):

@Santiago Pastorino would you be interested in either "borrow used here in later iteration of loop" in cases outside of loop #53773 or #55511?

davidtwco (Nov 13 2018 at 20:52, on Zulip):

IIRC it’s just diagnostic improvements left from the review.

nikomatsakis (Nov 13 2018 at 20:52, on Zulip):

As far as I know, Felix finished the review and looked at all of the “needs further investigation” ones.

ok, I'll try to look through the cards, but that'd be awesome then

Santiago Pastorino (Nov 13 2018 at 20:53, on Zulip):

@Santiago Pastorino would you be interested in either "borrow used here in later iteration of loop" in cases outside of loop #53773 or #55511?

yes

nikomatsakis (Nov 13 2018 at 20:53, on Zulip):

I'd say that #53773 is 'just a diagnostic' so lesser priority but perhaps easy and it could be quite confusing for folks

Santiago Pastorino (Nov 13 2018 at 20:53, on Zulip):

:+1:

nikomatsakis (Nov 13 2018 at 20:54, on Zulip):

so maybe let's start there

Santiago Pastorino (Nov 13 2018 at 20:55, on Zulip):

assigning both to myself then

Santiago Pastorino (Nov 13 2018 at 20:57, on Zulip):

@nikomatsakis I saw you did already assign #53773 to me, should I also assign the other one?

nikomatsakis (Nov 13 2018 at 20:57, on Zulip):

ok, so... @davidtwco and @Matthew Jasper, you both seemed to be "in the middle of stuff", anybody else lurking and interested in finding something to do?

nikomatsakis (Nov 13 2018 at 20:57, on Zulip):

@Santiago Pastorino I'd say hold off until #53773 is done

nikomatsakis (Nov 13 2018 at 20:57, on Zulip):

but either way

Santiago Pastorino (Nov 13 2018 at 20:57, on Zulip):

ok

nikomatsakis (Nov 13 2018 at 20:59, on Zulip):

ok, thanks everyone, I guess we'll adjoun for now, I'm going to try and follow up on some of those issues :)

nikomatsakis (Nov 13 2018 at 20:59, on Zulip):

oh fyi

nikomatsakis (Nov 13 2018 at 21:00, on Zulip):

we're aiming to get all Rust 2018 stuff done by next Wednesday

nikomatsakis (Nov 13 2018 at 21:00, on Zulip):

so backports and things

nikomatsakis (Nov 13 2018 at 21:00, on Zulip):

so @davidtwco if e.g. we wanted to backport that branch you're working on, that would be relevant

nikomatsakis (Nov 13 2018 at 21:00, on Zulip):

though I suspect we could live without doing that

davidtwco (Nov 13 2018 at 21:00, on Zulip):

I'll hopefully have this ready by the end of the week.

Last update: Nov 21 2019 at 13:05UTC