Stream: t-compiler

Topic: triage meeting 2020-02-13 #54818


nikomatsakis (Feb 13 2020 at 11:05, on Zulip):

Hey @T-compiler/meeting -- @pnkfelix told me he is not able to be here today. If anyone else wants to run the triage meeting (@nagisa?) that would be great, otherwise I can be around at the usual time (in ~4 hours) but I won't be able to do any pre-triage.

nikomatsakis (Feb 13 2020 at 11:06, on Zulip):

/me afk for now

simulacrum (Feb 13 2020 at 14:05, on Zulip):

I will likely miss most of the meeting today as well.

mw (Feb 13 2020 at 14:51, on Zulip):

PSA: I'm out sick and won't be online or review PRs for at least the rest of the week.

nikomatsakis (Feb 13 2020 at 14:56, on Zulip):

Oh dear! Poor compiler team

nikomatsakis (Feb 13 2020 at 15:00, on Zulip):

Hey @T-compiler/meeting! Triage meeting starting now. We've got a bunch of people out today so we're just going to do the best we can. =) I'll probably cut right to any nominations and other urgent things. According to the calendar, this week we have a check-in from #wg-traits (cc me, @Jack Huey) and #t-compiler/wg-polymorphization (cc @davidtwco).

But first...

Announcements

nikomatsakis (Feb 13 2020 at 15:00, on Zulip):
nikomatsakis (Feb 13 2020 at 15:01, on Zulip):
nikomatsakis (Feb 13 2020 at 15:03, on Zulip):
nikomatsakis (Feb 13 2020 at 15:04, on Zulip):

OK, let's get started I guess. We'll kick off with

Beta nominations

nikomatsakis (Feb 13 2020 at 15:04, on Zulip):
nikomatsakis (Feb 13 2020 at 15:05, on Zulip):

From last week:

(we discussed backporting this in today's T-compiler meeting. We are not certain what warn! will do here, in terms of what an end-user will see, so we held off on approving this change until after we've double-checked the default UX there...)

nikomatsakis (Feb 13 2020 at 15:05, on Zulip):

Yeah I was bit dubious about the warn! call here though it seems like this PR is basically harmless

nikomatsakis (Feb 13 2020 at 15:06, on Zulip):

But I guess I don't care enough to make a big thing out of it. I'm content to backport, that seems to be the consensus opinion from the emojis above :)

nikomatsakis (Feb 13 2020 at 15:06, on Zulip):
nikomatsakis (Feb 13 2020 at 15:07, on Zulip):

OK.

nikomatsakis (Feb 13 2020 at 15:08, on Zulip):

Stable nominated

nikomatsakis (Feb 13 2020 at 15:09, on Zulip):

There are none that are not already approved.

centril (Feb 13 2020 at 15:09, on Zulip):

I added a new beta-nominated PR

nikomatsakis (Feb 13 2020 at 15:09, on Zulip):
nikomatsakis (Feb 13 2020 at 15:12, on Zulip):

seems ok to me

nikomatsakis (Feb 13 2020 at 15:12, on Zulip):

though I can't register a vote easily because of how emojis work:)

Wesley Wiser (Feb 13 2020 at 15:12, on Zulip):

Did slice patterns get stabilized?

centril (Feb 13 2020 at 15:12, on Zulip):

They did yes

Wesley Wiser (Feb 13 2020 at 15:12, on Zulip):

Ah

centril (Feb 13 2020 at 15:12, on Zulip):

(In beta)

Wesley Wiser (Feb 13 2020 at 15:12, on Zulip):

Thanks

nikomatsakis (Feb 13 2020 at 15:13, on Zulip):

Not a lot of votes above :) I'm inclined to approve.

nikomatsakis (Feb 13 2020 at 15:13, on Zulip):

If there are any concerns though please do raise them

centril (Feb 13 2020 at 15:13, on Zulip):

/me does not vote on their own PRs... it feels wrong :D

nikomatsakis (Feb 13 2020 at 15:14, on Zulip):

OK, approved, moving on.

nikomatsakis (Feb 13 2020 at 15:15, on Zulip):

S-waiting-on-team

nikomatsakis (Feb 13 2020 at 15:15, on Zulip):
nikomatsakis (Feb 13 2020 at 15:15, on Zulip):

Just entered FCP, nothing more to say here probably

nikomatsakis (Feb 13 2020 at 15:15, on Zulip):
nikomatsakis (Feb 13 2020 at 15:15, on Zulip):

Created an internals thread in response to our last discussion

nikomatsakis (Feb 13 2020 at 15:16, on Zulip):

The poll there had 71% in favor of minimal details

centril (Feb 13 2020 at 15:16, on Zulip):

I personally agree with the majority; "overloading" is a real concern

nikomatsakis (Feb 13 2020 at 15:16, on Zulip):

pasted image

nikomatsakis (Feb 13 2020 at 15:17, on Zulip):

I am tempted to say:

centril (Feb 13 2020 at 15:19, on Zulip):

Btw; I'd like to highlight a new soundness hole:

Static lifetimes checking regression in rustc 1.41.0 #69114

nikomatsakis (Feb 13 2020 at 15:19, on Zulip):

OK, left a comment, feel free to add your own thoughts.

centril (Feb 13 2020 at 15:20, on Zulip):

It would be good to fix that one sooner rather than later and consider stable backporting.

nikomatsakis (Feb 13 2020 at 15:20, on Zulip):

I wonder if @Matthew Jasper has time for deeper investigation

nikomatsakis (Feb 13 2020 at 15:21, on Zulip):

left a comment

nikomatsakis (Feb 13 2020 at 15:21, on Zulip):
nikomatsakis (Feb 13 2020 at 15:22, on Zulip):

I'm not sure if it's really waiting on our team though :)

eddyb (Feb 13 2020 at 15:22, on Zulip):

wait

eddyb (Feb 13 2020 at 15:22, on Zulip):

did I forget about it again

eddyb (Feb 13 2020 at 15:22, on Zulip):

for another month

nikomatsakis (Feb 13 2020 at 15:22, on Zulip):

I don't know what current status is

eddyb (Feb 13 2020 at 15:22, on Zulip):

:speechless:

nikomatsakis (Feb 13 2020 at 15:22, on Zulip):

most recent comments suggest

eddyb (Feb 13 2020 at 15:23, on Zulip):

yeah this ZST stuff is much rarer than the other things fixed

nikomatsakis (Feb 13 2020 at 15:24, on Zulip):

I think maybe you were going to prepare some minimal PR, @eddyb, with the apprach you preferred? I remember discussing that a bit, at least.

eddyb (Feb 13 2020 at 15:25, on Zulip):

yeah then I forgot about it, clearly

nikomatsakis (Feb 13 2020 at 15:25, on Zulip):

I can leave a comment pinging the author saying "we'd prefer to do this minimal thing"

nikomatsakis (Feb 13 2020 at 15:25, on Zulip):

(i.e., from the team)

nikomatsakis (Feb 13 2020 at 15:25, on Zulip):

I think you outlined what you had in mind on a comment somewhere, right?

nikomatsakis (Feb 13 2020 at 15:25, on Zulip):

I feel comfortable anyway taking minimal steps first and not risking over-generalizing

nikomatsakis (Feb 13 2020 at 15:26, on Zulip):

Or you can just do that :)

nikomatsakis (Feb 13 2020 at 15:26, on Zulip):

I see this comment from you:

Wait, you've removed the target_env == "gnu" - this workaround only makes sense in that case, because ZSTs in C are a GNU extension.

eddyb (Feb 13 2020 at 15:26, on Zulip):

I think it's split over several comments but what I had in mind is like a one line diff, we should've just done it months ago Q_Q

nikomatsakis (Feb 13 2020 at 15:26, on Zulip):

sigh :)

nikomatsakis (Feb 13 2020 at 15:26, on Zulip):

I remember you giving some small diff, yeah

nikomatsakis (Feb 13 2020 at 15:27, on Zulip):

OK I'm going to leave a comment saying "eddyb has a one line diff" :P

eddyb (Feb 13 2020 at 15:29, on Zulip):

no, you need to actually pester me to put up a PR >_<

nikomatsakis (Feb 13 2020 at 15:29, on Zulip):

done

nikomatsakis (Feb 13 2020 at 15:29, on Zulip):

no, you need to actually pester me to put up a PR >_<

/me adds a "to do" item: "pester eddyb to put up a PR"

nikomatsakis (Feb 13 2020 at 15:30, on Zulip):

(I am actually doing this :P)

nikomatsakis (Feb 13 2020 at 15:30, on Zulip):

Ooookay, moving on.

nikomatsakis (Feb 13 2020 at 15:30, on Zulip):

Nominated issues -- there are 17

nikomatsakis (Feb 13 2020 at 15:30, on Zulip):

we won't get through them all so maybe people can scan for ones to prioritize, I will do the same

nikomatsakis (Feb 13 2020 at 15:31, on Zulip):
nikomatsakis (Feb 13 2020 at 15:31, on Zulip):

just needs prioritization, I guess

nikomatsakis (Feb 13 2020 at 15:31, on Zulip):

P-medium I think

centril (Feb 13 2020 at 15:31, on Zulip):

agree

nikomatsakis (Feb 13 2020 at 15:32, on Zulip):
nikomatsakis (Feb 13 2020 at 15:32, on Zulip):

P-medium I guess

nikomatsakis (Feb 13 2020 at 15:32, on Zulip):

has PR I think

centril (Feb 13 2020 at 15:33, on Zulip):

Static lifetimes checking regression in rustc 1.41.0 A-borrow-checker A-lifetimes C-bug I-nominated I-unsound :boom: P-high T-compiler regression-from-stable-to-stable
#69114 opened 16 hours ago by ilyavenner

nikomatsakis (Feb 13 2020 at 15:33, on Zulip):

didn't we just talk about that?

centril (Feb 13 2020 at 15:33, on Zulip):

Discussed before; Let's assign to Matthew?

nikomatsakis (Feb 13 2020 at 15:33, on Zulip):

sure, ok, I'll do so and leave a comment

centril (Feb 13 2020 at 15:34, on Zulip):

ICE: multiple @ bindings of slice patterns, e.g. [a @ .., b @ ..] A-slice-patterns C-bug I-ICE I-nominated T-compiler
#69103 opened 21 hours ago by memoryruins

Has PR, labeling as P-high due to impending stabilization and removing nomination

eddyb (Feb 13 2020 at 15:35, on Zulip):

you would think *p = &n where p: *mut &'static T would still error if &n isn't &'static T

centril (Feb 13 2020 at 15:35, on Zulip):

@eddyb let's discuss on issue

eddyb (Feb 13 2020 at 15:35, on Zulip):

oh yeah I didn't want to spam it and I was too slow here :P

centril (Feb 13 2020 at 15:35, on Zulip):

Rustc overflow its stack when using impl Trait and the struct containing the function itself A-impl-trait C-bug I-crash I-nominated T-compiler
#69096 opened yesterday by lszxb

nikomatsakis (Feb 13 2020 at 15:35, on Zulip):

/me is a bit confused about who is trying to drive :)

nikomatsakis (Feb 13 2020 at 15:35, on Zulip):

I guess I did ask for people to make some suggestions...

centril (Feb 13 2020 at 15:36, on Zulip):

@nikomatsakis two drivers can be more effective :P

centril (Feb 13 2020 at 15:36, on Zulip):

"interleaved driving"

nikomatsakis (Feb 13 2020 at 15:36, on Zulip):

I'm feeling a bit overwhelmed :)

nikomatsakis (Feb 13 2020 at 15:36, on Zulip):

I was paging back with stuff and saw I had missed discussion is all

nikomatsakis (Feb 13 2020 at 15:36, on Zulip):

anyway, it's fine, we can look at #69096

centril (Feb 13 2020 at 15:36, on Zulip):

Looks like codegen issue

centril (Feb 13 2020 at 15:36, on Zulip):

(from backtrace)

centril (Feb 13 2020 at 15:37, on Zulip):

Do we think this should... compile, not... ?

nikomatsakis (Feb 13 2020 at 15:37, on Zulip):

is it a regression? probably not

centril (Feb 13 2020 at 15:37, on Zulip):

checking

nikomatsakis (Feb 13 2020 at 15:37, on Zulip):

I feel like we added some code to check for this sort of thing

nikomatsakis (Feb 13 2020 at 15:38, on Zulip):

well, hmm,

nikomatsakis (Feb 13 2020 at 15:38, on Zulip):

I guess the type is not infinite

nikomatsakis (Feb 13 2020 at 15:38, on Zulip):

the problem is probably occurring when generating the symbol name, @eddyb, does the symbol name somehow include the return type or something?

centril (Feb 13 2020 at 15:38, on Zulip):

Godbolt says this regressed in 1.30.0

centril (Feb 13 2020 at 15:38, on Zulip):

used to compile

nikomatsakis (Feb 13 2020 at 15:39, on Zulip):

ah, interesting, let's tag it for the cleanup crew

nikomatsakis (Feb 13 2020 at 15:40, on Zulip):

As far as priority, it's a regression, which makes me tend towards P-high, though I'd otherwise have probably said P-medium

centril (Feb 13 2020 at 15:41, on Zulip):

Yeah; although I could see P-medium being justified as "no one said anything for so many releases" :P

centril (Feb 13 2020 at 15:41, on Zulip):

but let's do p-high

nikomatsakis (Feb 13 2020 at 15:42, on Zulip):
eddyb (Feb 13 2020 at 15:42, on Zulip):

@nikomatsakis how can I do the one-line patch when #69096 is far more interesting lol (left a comment already)

nikomatsakis (Feb 13 2020 at 15:42, on Zulip):

I think this is "close as expected behavior"

eddyb (Feb 13 2020 at 15:42, on Zulip):

I naively thought we weren't wasting time with LLVM type names anymore, I wonder what kind of compile time wins we can get from skipping that

nikomatsakis (Feb 13 2020 at 15:44, on Zulip):
nikomatsakis (Feb 13 2020 at 15:44, on Zulip):

I think the problem here is we don't really know the code that reproduces it

eddyb (Feb 13 2020 at 15:44, on Zulip):

ubiquitous #[track_caller] can't come soon enough

nikomatsakis (Feb 13 2020 at 15:45, on Zulip):

I'm inclined to un-nominate and re-nominate if we have an example.

nikomatsakis (Feb 13 2020 at 15:45, on Zulip):

but I can just leave it a week, don't care

centril (Feb 13 2020 at 15:45, on Zulip):

@nikomatsakis let's call it P-high though?

eddyb (Feb 13 2020 at 15:45, on Zulip):

we do now though? just not from the original poster

nikomatsakis (Feb 13 2020 at 15:45, on Zulip):

I don't believe we have anything that is narrowed down to something actionable

centril (Feb 13 2020 at 15:45, on Zulip):

let's ping cleanup?

nikomatsakis (Feb 13 2020 at 15:46, on Zulip):

but I'm not entirely sure

nikomatsakis (Feb 13 2020 at 15:46, on Zulip):

Yeah, I was debating

eddyb (Feb 13 2020 at 15:46, on Zulip):

this is presumably reducible https://github.com/rust-lang/rust/issues/68801#issuecomment-582920167

nikomatsakis (Feb 13 2020 at 15:46, on Zulip):

sure, cleanup crew seems reasonable

nikomatsakis (Feb 13 2020 at 15:46, on Zulip):

something about that comment made me suspect it won't reproduce but perhaps I was wrong

nikomatsakis (Feb 13 2020 at 15:46, on Zulip):

let's try cleanup crew then, seems good

centril (Feb 13 2020 at 15:47, on Zulip):

...and priority?

nikomatsakis (Feb 13 2020 at 15:47, on Zulip):

re: priority, the ICE is pretty bad

nikomatsakis (Feb 13 2020 at 15:47, on Zulip):

it's not a regression afawk?

centril (Feb 13 2020 at 15:48, on Zulip):

no idea

nikomatsakis (Feb 13 2020 at 15:48, on Zulip):

Yeah, hard to say, especially witout a minimal example

nikomatsakis (Feb 13 2020 at 15:49, on Zulip):

I guess P-high is ok, given the uselessness of the ICE

centril (Feb 13 2020 at 15:49, on Zulip):

we could leave nominated and revisit

nikomatsakis (Feb 13 2020 at 15:50, on Zulip):

I marked as P-high. Let's do one more then pivot to check-ins

centril (Feb 13 2020 at 15:50, on Zulip):

@Esteban K├╝ber btw, why is https://github.com/rust-lang/rust/pull/68938 nominated?

nikomatsakis (Feb 13 2020 at 15:50, on Zulip):
nikomatsakis (Feb 13 2020 at 15:51, on Zulip):

caused by Promote references to constants instead of statics #67000 (cc @Santiago Pastorino, @oli)

nikomatsakis (Feb 13 2020 at 15:51, on Zulip):

We knew about this regression in the PR, maybe you remember that discussion. In #67000 (comment) I finally came to the conclusion that the reason we regressed perf here is that before that PR we didn't actually evaluate the promoteds, we just created pointers to them. #67000 causes all promoteds to get evaluated immediately when their use site is evaluated. Basically any real program would already have done this work as collect would have evaluated the constant. Only if you have loads and loads of dead promoteds can you see the difference.

centril (Feb 13 2020 at 15:51, on Zulip):

Sounds like wontfix?

centril (Feb 13 2020 at 15:51, on Zulip):

going by oliver's note

nikomatsakis (Feb 13 2020 at 15:51, on Zulip):

Was going to say the same.

nikomatsakis (Feb 13 2020 at 15:51, on Zulip):

OK, closing.

nikomatsakis (Feb 13 2020 at 15:52, on Zulip):

Working group check-ins

nikomatsakis (Feb 13 2020 at 15:52, on Zulip):

Let's start with #t-compiler/wg-polymorphization (cc @davidtwco)

nikomatsakis (Feb 13 2020 at 15:53, on Zulip):

@davidtwco wrote me this to post in case they're not around:

Since this is the first update to the compiler team meeting, this working group is my work for my master's thesis - it aims to implement an analysis to detect when functions could remain polymorphic during code generation. Hopefully this will reduce the amount of LLVM IR generated and improve compilation times.

So far, I've got a basic analysis working and I've got it integrated into the compiler such that a codegen-unit test that I've written pass with the analysis turned on and working. For the last couple months, I've been working on getting the compiler to bootstrap with the analysis turned on, and fighting ICEs to do so.

I've not been able to spend much time on it recently due to other university/work drains on my time, but progress should pick up soon.

davidtwco (Feb 13 2020 at 15:53, on Zulip):

:wave:

nikomatsakis (Feb 13 2020 at 15:53, on Zulip):

Specifically the starting point is to detect functions that are generic but have some type parameters that are fully unused (this arises commonly with closures)

nikomatsakis (Feb 13 2020 at 15:53, on Zulip):

Is there anything people can do to help, @davidtwco ?

davidtwco (Feb 13 2020 at 15:54, on Zulip):

I'm not sure there is at the moment, it's just me finding some time to get back to it and work through the remaining ICEs.

nikomatsakis (Feb 13 2020 at 15:54, on Zulip):

OK. I forget if you said, is the branch pushed somewhere public?

davidtwco (Feb 13 2020 at 15:54, on Zulip):

Anyone who wants to can leave some review comments on the approach though, here's the branch: https://github.com/rust-lang/rust/compare/master...davidtwco:issue-46477-polymorphization

davidtwco (Feb 13 2020 at 15:55, on Zulip):

(it's long overdue a rebase)

nikomatsakis (Feb 13 2020 at 15:55, on Zulip):

OK, 5 minutes left, let's do a quick #wg-traits check-in

nikomatsakis (Feb 13 2020 at 15:55, on Zulip):

wg-traits (cc @WG-traits, I wonder how up to date that alias is)

nikomatsakis (Feb 13 2020 at 15:55, on Zulip):

We are trying to get the "sprint concept" up and going again

nikomatsakis (Feb 13 2020 at 15:56, on Zulip):

And we had a recent discussion about which things to focus on

nikomatsakis (Feb 13 2020 at 15:56, on Zulip):

I was thinking before this meeting I shuold've maybe prepared a summary :)

nikomatsakis (Feb 13 2020 at 15:56, on Zulip):

but there's a mix of work on chalk / work on rustc

nikomatsakis (Feb 13 2020 at 15:56, on Zulip):

the idea is to sort of migrate rustc to integrate ideas from chalk and make it able to support GATs etc, while also improving chalk and working towards the rustc-integration we want. The hope is that the two can approach each other and eventually be readily merged. (But without blocking everything on that day.)

nikomatsakis (Feb 13 2020 at 15:57, on Zulip):

we've got some new blood coming in, which is great

nikomatsakis (Feb 13 2020 at 15:57, on Zulip):

we had some notes on the topics in this dropbox paper, still working out some of the details

nikomatsakis (Feb 13 2020 at 15:58, on Zulip):

I guess that's about it :)

nikomatsakis (Feb 13 2020 at 15:59, on Zulip):

Any final comments? We're at 58 minutes

nikomatsakis (Feb 13 2020 at 16:01, on Zulip):

OK, thanks everyone for attending! :heart:

Jack Huey (Feb 13 2020 at 16:28, on Zulip):

Sorry I wasn't able to come for the check in :/ was busy with work

Last update: Feb 25 2020 at 01:55UTC