Stream: t-compiler

Topic: planning meeting 2020.04.10


nikomatsakis (Apr 10 2020 at 14:00, on Zulip):

Hey @T-compiler/meeting -- today is a planning meeting for our design meeting schedule over the next 3 weeks. As of this moment, we have two meeting proposals

nikomatsakis (Apr 10 2020 at 14:00, on Zulip):

But before we get to that, any....

Announcements

nikomatsakis (Apr 10 2020 at 14:01, on Zulip):
simulacrum (Apr 10 2020 at 14:01, on Zulip):
pnkfelix (Apr 10 2020 at 14:05, on Zulip):

there were leftover no,minations from yesterday

nikomatsakis (Apr 10 2020 at 14:05, on Zulip):
pnkfelix (Apr 10 2020 at 14:06, on Zulip):

pnkfelix said:

there were leftover no,minations from yesterday

(but I suspect we are better off letting them wait until next week's thurday meeting)

GuillaumeGomez (Apr 10 2020 at 14:06, on Zulip):

@simulacrum I definitely care! Thanks a lot for helping me on this! If you need a hand, don't hesitate to ask. :)

nikomatsakis (Apr 10 2020 at 14:06, on Zulip):

pnkfelix said:

there were leftover no,minations from yesterday

do we want to try and cover those today?

nikomatsakis (Apr 10 2020 at 14:06, on Zulip):

I'm sort of inclined to just use this meeting for its intended purpose unless there's urgency

nikomatsakis (Apr 10 2020 at 14:06, on Zulip):

(Speaking of which, shall we get started?)

nikomatsakis (Apr 10 2020 at 14:06, on Zulip):

We can decide at the end I guess whether to cover nominations

pnkfelix (Apr 10 2020 at 14:06, on Zulip):

i basically wanted to give @eddyb a chance to chime in and argue that some of them should be discussed

nikomatsakis (Apr 10 2020 at 14:07, on Zulip):

/poll Meeting proposals

eddyb (Apr 10 2020 at 14:07, on Zulip):

oh I was a bit slow with announcing this:

eddyb (Apr 10 2020 at 14:07, on Zulip):

(which may become a common problem now)

eddyb (Apr 10 2020 at 14:07, on Zulip):

/me was still writing that PR's description

nikomatsakis (Apr 10 2020 at 14:08, on Zulip):

Regarding compiler-team#177, @simulacrum, we published your post, and there were some answers in internals, I don't think there are any other updates or developments?

centril (Apr 10 2020 at 14:08, on Zulip):

Wait, we have too few meeting proposals? That's a first? :D

pnkfelix (Apr 10 2020 at 14:09, on Zulip):

centril said:

Wait, we have too few meeting proposals? That's a first? :D

(maybe a third? its happened before I think)

simulacrum (Apr 10 2020 at 14:09, on Zulip):

yeah I think sideeffect is basically stalled, I don't think anyone in internals had any solid ideas on how to do better

nikomatsakis (Apr 10 2020 at 14:09, on Zulip):

/poll Folks who have conflicts with dates?

nikomatsakis (Apr 10 2020 at 14:09, on Zulip):

Just to have an easy summary of who's around, feel free to vote for weeks that you have a conflict :)

centril (Apr 10 2020 at 14:09, on Zulip):

(May 1 is international worker's day, so that's definitely a conflict ^^)

centril (Apr 10 2020 at 14:09, on Zulip):

(depending on the Corona virus)

eddyb (Apr 10 2020 at 14:11, on Zulip):

May 2020 or May 2021?

centril (Apr 10 2020 at 14:11, on Zulip):

@eddyb both :slight_smile:

nikomatsakis (Apr 10 2020 at 14:11, on Zulip):

OK, it seems like the first question to decide then is what week to use for compiler-team#267 -- I wonder if @David Tolnay or other libs folks would be around

pnkfelix (Apr 10 2020 at 14:11, on Zulip):

ah I had forgotten about all the may holidays from my time in France

nikomatsakis (Apr 10 2020 at 14:11, on Zulip):

April 24?

centril (Apr 10 2020 at 14:11, on Zulip):

@pnkfelix already? :D

simulacrum (Apr 10 2020 at 14:12, on Zulip):

@nikomatsakis @David Tolnay has told me they can make this slot any week, I think

nikomatsakis (Apr 10 2020 at 14:13, on Zulip):

OK, let's just say Apr 24 then.

nikomatsakis (Apr 10 2020 at 14:14, on Zulip):

I was supposed to be on vacation in Ireland that day, but... that's not a problem anymore.

centril (Apr 10 2020 at 14:14, on Zulip):

In case we pick May 1st and have the meeting then: My view on the proposal: it seems like a solid idea :+1:

nikomatsakis (Apr 10 2020 at 14:16, on Zulip):

OK, the other question is llvm.sideeffect. I personally feel like, in the absence of any new developments, I don't feel the need for a meeting at the moment.

nikomatsakis (Apr 10 2020 at 14:16, on Zulip):

In terms of actionable steps, from skimming the thread,

nikomatsakis (Apr 10 2020 at 14:16, on Zulip):

it does seem like we could land a simple mitigation that literally just detects infinite loops?

nikomatsakis (Apr 10 2020 at 14:16, on Zulip):

since apparently that's a common idiom in some contexts

simulacrum (Apr 10 2020 at 14:16, on Zulip):

that's a rough idea I've had yeah

centril (Apr 10 2020 at 14:16, on Zulip):

I think that's accurate; still, sorta discontent with not fixing that soundness hole :frown:

nikomatsakis (Apr 10 2020 at 14:16, on Zulip):

I was skeptical before that it would be that useful in pratcice, but if it's common in embedded environments, seems fine.

simulacrum (Apr 10 2020 at 14:17, on Zulip):

I have not had time to prototype that, but I think we should do so if it is performance free (I expect it should be)

nikomatsakis (Apr 10 2020 at 14:17, on Zulip):

Presumably

centril (Apr 10 2020 at 14:17, on Zulip):

@simulacrum the idea doesn't involve MIR or frontend changes, right?

simulacrum (Apr 10 2020 at 14:17, on Zulip):

nah, just an adjustment to the backend I think

nikomatsakis (Apr 10 2020 at 14:17, on Zulip):

Like, those loops should literally not exist today

centril (Apr 10 2020 at 14:17, on Zulip):

@simulacrum ah ok, great

simulacrum (Apr 10 2020 at 14:17, on Zulip):

(well rustc_codegen_ssa IIRC, but same thing)

centril (Apr 10 2020 at 14:18, on Zulip):

Maybe we should advertise this soundness hole more clearly broadly; I feel that it's common in practice to hit

nikomatsakis (Apr 10 2020 at 14:18, on Zulip):

OK. So maybe we're just done here.

nikomatsakis (Apr 10 2020 at 14:18, on Zulip):

Well, we have lints for the recursive case, right?

nikomatsakis (Apr 10 2020 at 14:18, on Zulip):

And we would eliminate the loop { } case

simulacrum (Apr 10 2020 at 14:18, on Zulip):

we try to lint on recursion, and we would fix the trivial loop {} case

centril (Apr 10 2020 at 14:18, on Zulip):

@nikomatsakis it doesn't always work I think

simulacrum (Apr 10 2020 at 14:18, on Zulip):

note though that you can write code which we think is not trivial loop {} but LLVM sees as such

pnkfelix (Apr 10 2020 at 14:18, on Zulip):

i don't know aggressive the recusion detection is

centril (Apr 10 2020 at 14:18, on Zulip):

well, it couldn't possibly... (halting problem)

pnkfelix (Apr 10 2020 at 14:19, on Zulip):

certainly not inter-procedural, right?

nikomatsakis (Apr 10 2020 at 14:19, on Zulip):

nikomatsakis said:

Well, we have lints for the recursive case, right?

I used to hit this somewhat often, but I don't anymore ever since

(a) the lints trigger
and (b) I started writing T::foo(self) instead of (**self).foo when implementing traits for &T

eddyb (Apr 10 2020 at 14:19, on Zulip):

the recursion lint is pretty limited in that it doesn't look at the callgraph at all, just self-recursion

nikomatsakis (Apr 10 2020 at 14:19, on Zulip):

sure, I'm just saying that self-recursion is the only case where I personally ever hit it

eddyb (Apr 10 2020 at 14:19, on Zulip):

and it's polymorphic so no trait method resolution (except for a special-case)

nikomatsakis (Apr 10 2020 at 14:19, on Zulip):

I'm curious to know if other folks hit the problem in other contexts

nikomatsakis (Apr 10 2020 at 14:19, on Zulip):

it'd be good to try collecting examples

nikomatsakis (Apr 10 2020 at 14:20, on Zulip):

since another actionable step would be seeing if we can extend or detect those sorts of cases

eddyb (Apr 10 2020 at 14:20, on Zulip):

@nikomatsakis it will never catch a "visitor pattern" type thing, for example, being infinitely recursive

centril (Apr 10 2020 at 14:20, on Zulip):

Also, should we use this meeting slot today to do some triage?

eddyb (Apr 10 2020 at 14:20, on Zulip):

(as long as there is more than one visit_... method :P)

eddyb (Apr 10 2020 at 14:20, on Zulip):

centril said:

Also, should we use this meeting slot today to do some triage?

we're only 20min in, and we're all here, sounds good

nikomatsakis (Apr 10 2020 at 14:20, on Zulip):

Regarding triage, I'd rather not, because I've got a lot of things I'd like to do today. Did you mean discussing nominated issues?

pnkfelix (Apr 10 2020 at 14:21, on Zulip):

triage ... of P-high issues?

centril (Apr 10 2020 at 14:21, on Zulip):

@nikomatsakis p-high issues, nominated, etc.

pnkfelix (Apr 10 2020 at 14:21, on Zulip):

seems like the people who can and want to stay can do so

pnkfelix (Apr 10 2020 at 14:21, on Zulip):

but niko's time in particular is pretty valuable scarce, so I'm fine with letting them go

eddyb (Apr 10 2020 at 14:22, on Zulip):

fair 'nuff

nikomatsakis (Apr 10 2020 at 14:22, on Zulip):

seems fine to me

centril (Apr 10 2020 at 14:24, on Zulip):

@pnkfelix do you want to drive?

pnkfelix (Apr 10 2020 at 14:24, on Zulip):

sure okay, this is going to be somewhat ad hoc

pnkfelix (Apr 10 2020 at 14:24, on Zulip):

lets maybe create a fresh topic

pnkfelix (Apr 10 2020 at 14:25, on Zulip):

over here: https://rust-lang.zulipchat.com/#narrow/stream/131828-t-compiler/topic/ad.20hoc.20triage.20meeting.202020.2E04.2E10/near/193574123

Last update: May 29 2020 at 17:45UTC